6. 运行Spark SQL CLI

摘要: Spark SQL CLI可以很方便的在本地运行Hive元数据服务以及从命令行执行任务查询。需要注意的是,Spark SQL CLI不能与Thrift JDBC服务交互。在Spark目录下执行如下命令启动Spark SQL CLI: ./bin/spark-sql 配置Hive需要替换conf/下的 阅读全文
posted @ 2019-07-30 08:38 铖歌 阅读(181) 评论(0) 推荐(0) 编辑

5. JDBC/ODBC服务器

摘要: Spark SQL也提供JDBC连接支持,这对于让商业智能(BI)工具连接到Spark集群上以及在多用户间共享一个集群的场景都非常有用。JDBC服务器作为一个独立的Spark驱动器程序运行,可以在多用户之间共享。任意一个客户端都可以在内存中缓存数据表,对表进行查询。集群的资源以及缓存数据都在所有用户 阅读全文
posted @ 2019-07-29 14:26 铖歌 阅读(142) 评论(0) 推荐(0) 编辑

4. Spark SQL数据源

摘要: 4.1 通用加载/保存方法 4.1.1手动指定选项 Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表。把DataFrame注册为临时表之后,就可以对该DataFrame执行SQL查询 Spark SQL的默认数据源 阅读全文
posted @ 2019-07-26 09:12 铖歌 阅读(204) 评论(0) 推荐(0) 编辑

3. Spark SQL解析

摘要: 3.1 新的起始点SparkSession 在老的版本中,SparkSQL提供两种SQL查询起始点,一个叫SQLContext,用于Spark自己提供的SQL查询,一个叫HiveContext,用于连接Hive的查询,SparkSession是Spark最新的SQL查询起始点,实质上是SQLCote 阅读全文
posted @ 2019-07-22 08:07 铖歌 阅读(440) 评论(0) 推荐(0) 编辑

2. 执行Spark SQL查询

摘要: 2.1 命令行查询流程 打开Spark shell 例子:查询大于21岁的用户 创建如下JSON文件,注意JSON的格式: 2.2 IDEA创建Spark SQL程序 IDEA中程序的打包和运行方式都和SparkCore类似,Maven依赖中需要添加新的依赖项: 程序如下: 阅读全文
posted @ 2019-07-19 11:14 铖歌 阅读(676) 评论(0) 推荐(0) 编辑

1. Spark SQL概述

摘要: 1.1 什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用 它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapR 阅读全文
posted @ 2019-07-18 09:36 铖歌 阅读(273) 评论(0) 推荐(0) 编辑

5. RDD编程进阶

摘要: 5.1 累加器 累加器用来对信息进行聚合,通常在向Spark传递函数时,比如使用map()函数或者用filter()传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本,更新这些副本的值也不会影响驱动器中的对应变量。如果我们想实现所有分片处理时更新共享变量 阅读全文
posted @ 2019-07-15 08:54 铖歌 阅读(168) 评论(0) 推荐(0) 编辑

4. 数据读取与保存主要方式

摘要: 4.1 文本文件输入输出 当我们将一个文本文件读取为RDD时,输入的每一行都会成为RDD的一个元素。也可以将多个完整的文本文件一次性读取为一个pairRDD,其中键是文件名,值是文件内容 val input = sc.textFile("./README.md") 如果传递目录,则将目录下的所有文件 阅读全文
posted @ 2019-07-11 14:44 铖歌 阅读(676) 评论(0) 推荐(0) 编辑

3. 键值对RDD

摘要: 键值对RDD是Spark中许多操作所需要的常见数据类型。除了在基础RDD类中定义的操作之外,Spark为包含键值对类型的RDD提供了一些专有的操作在PairRDDFunctions专门进行了定义。这些RDD被称为pairRDD 有很多中方式创建pairRDD,一般如果从一个普通的RDD转为pairR 阅读全文
posted @ 2019-07-08 08:11 铖歌 阅读(385) 评论(0) 推荐(0) 编辑

2. RDD编程

摘要: 2.1 编程模型 在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换。经过一系列的transformations定义RDD之后,就可以调用actions触发RDD的计算,action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据(save 阅读全文
posted @ 2019-07-02 12:04 铖歌 阅读(252) 评论(0) 推荐(0) 编辑