图书目录

目    录

第 1 章 Spark SQL概述 1

1.1 Spark SQL简介 1

1.1.1 什么是Spark SQL 1

1.1.2 Spark SQL的特点 2

1.2 Spark数据容器 4

1.2.1 什么是DataFrame 4

1.2.2 什么是DataSet 5

1.2.3 Spark SQL与DataFrame 6

1.2.4 DataFrame与RDD的差异 6

第 2 章 Spark概述及环境搭建 8

2.1 Spark概述 8

2.1.1 关于Spark 8

2.1.2 Spark的基本概念 9

2.1.3 Spark集群相关知识 11

2.2 Linux环境搭建 16

2.2.1 VirtualBox虚拟机的安装 16

2.2.2 安装Linux操作系统 18

2.2.3 SSH工具与使用 24

2.2.4 Linux的统一设置 26

2.3 Hadoop完全分布式环境搭建 28

2.4 Spark的安装与配置 33

2.4.1 本地模式安装 34

2.4.2 伪分布模式安装 36

2.4.3 完全分布模式安装 39

2.4.4 Spark on YARN 41

2.5 Spark的任务提交 45

2.5.1  使用spark-submit提交 45

2.5.2  spark-submit参数说明 46

第 3 章 Spark的典型数据结构RDD 49

3.1 什么是RDD 49

3.2 RDD的主要属性 50

3.3 RDD的特点 51

3.4 RDD的创建与处理过程 54

3.4.1 RDD的创建 55

3.4.2 RDD的处理过程 55

3.4.3 RDD的算子 56

第 4 章 Spark SQL入门实战 65

4.1 DataFrame和DataSet实战体验 65

4.1.1 SparkSession 65

4.1.2 DataFrame应用 66

4.1.3 DataSet应用 72

4.1.4 DataFrame和DataSet之间的交互 74

4.2 Scala开发环境搭建及其基础编程 74

4.2.1 开发环境搭建 75

4.2.2 Scala基础编程 78

4.3 Spark SQL实战入门体验 94

第 5 章 Spark SQL语法基础及应用 101

5.1 Hive安装与元数据存储配置 101

5.1.1 安装Hive 101

5.1.2 配置MySQL存储元数据 104

5.2 Spark SQL DML语句 107

5.2.1 插入数据 107

5.2.2 加载数据 110

5.3 Spark SQL查询语句 111

5.4 Spark SQL函数操作 115

5.4.1 内置函数及使用 115

5.4.2 自定义函数 126

第 6 章 Spark SQL数据源 131

6.1 Spark SQL数据加载、存储概述 131

6.1.1 通用load/save函数 131

6.1.2 手动指定选项 133

6.1.3 在文件上直接进行SQL查询 133

6.1.4 存储模式 133

6.1.5 持久化到表 134

6.1.6 桶、排序、分区操作 135

6.2 Spark SQL常见结构化数据源 135

6.2.1 Parquet文件 135

6.2.2 JSON 数据集 140

6.2.3 Hive表 141

6.2.4 其他关系数据库中的数据表 144

第 7 章 Spark SQL性能调优 148

7.1 Spark执行流程 148

7.2 Spark内存管理 149

7.3 Spark的一些概念 150

7.4 Spark开发原则 151

7.5 Spark调优方法 157

7.6 数据倾斜调优 168

7.7 Spark执行引擎Tungsten简介 172

7.8 Spark SQL解析引擎Catalyst简介 173

第 8 章 Spark SQL影评大数据分析项目实战 177

8.1 项目介绍 177

8.2 项目实现 179

8.2.1 引入依赖 179

8.2.2 公共类开发 184

8.2.3 需求1的实现 187

8.2.4 需求2的实现 191

8.2.5 需求3的实现 194

第 9 章 Spark SQL商品统计分析项目实战 198

9.1 项目介绍 198

9.2 项目实现 201

9.2.1 引入依赖 201

9.2.2 环境测试 202

9.2.3 Spark SQL初始化数据 203

9.2.4 Spark SQL商品数据分析 206

第 10 章 Spark SQL咖啡销售数据分析项目实战 211

10.1 项目介绍 211

10.2 数据预处理与数据分析 212

10.2.1 查看咖啡销售量排名 213

10.2.2 观察咖啡销售量的分布情况 214

10.3 数据可视化 218