Spark_SQL大数据实例开发教程

1

Spark_SQL大数据实例开发教程封面

策划编辑: 王 斌 责任编辑: 王 斌
责任校对: 张艳霞 责任印制: 孙 炜
北京中兴印刷有限公司印刷
2018 年 3 月第 1 版·第 1 次印刷
184mm × 260mm·16. 5 印张·398 千字
0001 – 3000 册
标准书号: ISBN 978-7-111-59197-9
定价: 59. 00 元

Spark 是一个快速大规模数据处理的通用引擎。 它给 Java、 Scala、 Python 和 R 等语言提供了高级 API, 并基于统一抽象的 RDD (弹性分布式数据集), 逐渐形成了一套自己的生态系统。 这个生态系统主要包括负责 SQL 和结构化数据处理的 Spark SQL、 负责实时流处理的Spark Streaming、 负责图计算的 Spark GraphX 以及机器学习子框架 Mlib。 Spark 在处理各种场景时, 提供给用户统一的编程体验, 可极大地提高编程效率。

目 录
前言
第 1 章 认识 Spark SQL ……………………………………………………………………… 1
1. 1 Spark SQL 概述 ……………………………………………………………………… 1
1. 1. 1 Spark SQL 与 DataFrame …………………………………………………………… 1
1. 1. 2 DataFrame 与 RDD 的差异 ………………………………………………………… 2
1. 1. 3 Spark SQL 的发展历程 …………………………………………………………… 3
1. 2 从零起步掌握 Hive …………………………………………………………………… 4
1. 2. 1 Hive 的本质是什么………………………………………………………………… 4
1. 2. 2 Hive 安装和配置 ………………………………………………………………… 5
1. 2. 3 使用 Hive 分析搜索数据 ………………………………………………………… 12
1. 3 Spark SQL on Hive 安装与配置……………………………………………………… 15
1. 3. 1 安装 Spark SQL ………………………………………………………………… 15
1. 3. 2 安装 MySQL …………………………………………………………………… 18
1. 3. 3 启动 Hive Metastore ……………………………………………………………… 21
1. 4 Spark SQL 初试 ……………………………………………………………………… 21
1. 4. 1 通过 spark – shell 来使用 Spark SQL ……………………………………………… 21
1. 4. 2 Spark SQL 的命令终端 …………………………………………………………… 24
1. 4. 3 Spark 的 Web UI ………………………………………………………………… 25
1. 5 本章小结……………………………………………………………………………… 26
第 2 章 DataFrame 原理与常用操作 ………………………………………………………… 27
2. 1 DataFrame 编程模型 ………………………………………………………………… 27
2. 2 DataFrame 基本操作实战 …………………………………………………………… 28
2. 2. 1 数据准备 ………………………………………………………………………… 28
2. 2. 2 启动交互式界面 ………………………………………………………………… 30
2. 2. 3 数据处理与分析 ………………………………………………………………… 31
2. 3 通过 RDD 来构建 DataFrame ……………………………………………………… 44
2. 4 缓存表 (列式存储) ……………………………………………………………… 47
2. 5 DataFrame API 应用示例 …………………………………………………………… 48
2. 6 本章小结……………………………………………………………………………… 79
第 3 章 Spark SQL 操作多种数据源 ………………………………………………………… 80
3. 1 通用的加载/ 保存功能 ……………………………………………………………… 80
3. 1. 1 Spark SQL 加载数据 ……………………………………………………………… 80
3. 1. 2 Spark SQL 保存数据 ……………………………………………………………… 82
3. 1. 3 综合案例———电商热销商品排名 ………………………………………………… 82

3. 2 Spark SQL 操作 Hive 示例…………………………………………………………… 87
3. 3 Spark SQL 操作 JSON 数据集示例 ………………………………………………… 91
3. 4 Spark SQL 操作 HBase 示例 ………………………………………………………… 92
3. 5 Spark SQL 操作 MySQL 示例………………………………………………………… 97
3. 5. 1 安装并启动 MySQL ……………………………………………………………… 97
3. 5. 2 准备数据表 ……………………………………………………………………… 98
3. 5. 3 操作 MySQL 表 ………………………………………………………………… 101
3. 6 Spark SQL 操作 MongoDB 示例 …………………………………………………… 111
3. 6. 1 安装配置 MongoDB …………………………………………………………… 111
3. 6. 2 启动 MongoDB ………………………………………………………………… 113
3. 6. 3 准备数据 ……………………………………………………………………… 114
3. 6. 4 Spark SQL 操作 MongoDB ……………………………………………………… 116
3. 7 本章小结 …………………………………………………………………………… 122
第 4 章 Parquet 列式存储 …………………………………………………………………… 123
4. 1 Parquet 概述 ………………………………………………………………………… 123
4. 1. 1 Parquet 的基本概念……………………………………………………………… 123
4. 1. 2 Parquet 数据列式存储格式应用举例 …………………………………………… 125
4. 2 Parquet 的 Block 配置及数据分片 ………………………………………………… 128
4. 2. 1 Parquet 的 Block 的配置 ………………………………………………………… 129
4. 2. 2 Parquet 内部的数据分片 ………………………………………………………… 129
4. 3 Parquet 序列化 ……………………………………………………………………… 129
4. 3. 1 Spark 实施序列化的目的………………………………………………………… 130
4. 3. 2 Parquet 两种序列化方式 ………………………………………………………… 130
4. 4 本章小结 …………………………………………………………………………… 131
第 5 章 Spark SQL 内置函数与窗口函数 ………………………………………………… 132
5. 1 Spark SQL 内置函数………………………………………………………………… 132
5. 1. 1 Spark SQL 内置函数概述………………………………………………………… 132
5. 1. 2 Spark SQL 内置函数应用实例 …………………………………………………… 133
5. 2 Spark SQL 窗口函数………………………………………………………………… 143
5. 2. 1 Spark SQL 窗口函数概述………………………………………………………… 143
5. 2. 2 Spark SQL 窗口函数分数查询统计案例 ………………………………………… 145
5. 2. 3 Spark SQL 窗口函数 NBA 常规赛数据统计案例 ………………………………… 154
5. 3 本章小结 …………………………………………………………………………… 161
第 6 章 Spark SQL UDF 与 UDAF ………………………………………………………… 162
6. 1 UDF 概述 …………………………………………………………………………… 162
6. 2 UDF 示例 …………………………………………………………………………… 162
6. 2. 1 Hobby_count 函数 ……………………………………………………………… 163
6. 2. 2 Combine 函数 …………………………………………………………………… 164
6. 2. 3 Str2Int 函数 …………………………………………………………………… 165

6. 2. 4 Wsternstate 函数 ………………………………………………………………… 167
6. 2. 5 ManyCustomers 函数 …………………………………………………………… 168
6. 2. 6 StateRegion 函数 ………………………………………………………………… 169
6. 2. 7 DiscountRatio 函数 ……………………………………………………………… 170
6. 2. 8 MakeStruct 函数 ………………………………………………………………… 171
6. 2. 9 MyDateFilter 函数 ……………………………………………………………… 172
6. 2. 10 MakeDT 函数 ………………………………………………………………… 174
6. 3 UDAF 概述 ………………………………………………………………………… 176
6. 4 UDAF 示例 ………………………………………………………………………… 176
6. 4. 1 ScalaAggregateFunction 函数 ……………………………………………………… 176
6. 4. 2 GeometricMean 函数 …………………………………………………………… 180
6. 4. 3 CustomMean 函数 ……………………………………………………………… 183
6. 4. 4 BelowThreshold 函数 …………………………………………………………… 186
6. 4. 5 YearCompare 函数 ……………………………………………………………… 188
6. 4. 6 WordCount 函数 ………………………………………………………………… 194
6. 5 本章小结 …………………………………………………………………………… 198
第 7 章 Thrift Server ………………………………………………………………………… 199
7. 1 Thrift 概述…………………………………………………………………………… 199
7. 1. 1 Thrift 的基本概念 ……………………………………………………………… 199
7. 1. 2 Thrift 的工作机制 ……………………………………………………………… 201
7. 1. 3 Thrift 的运行机制 ……………………………………………………………… 201
7. 1. 4 一个简单的 Thrift 实例 ………………………………………………………… 203
7. 2 Thrift Server 的启动过程 …………………………………………………………… 206
7. 2. 1 Thrift Sever 启动详解 …………………………………………………………… 207
7. 2. 2 HiveThriftServer2 类的解析 ……………………………………………………… 212
7. 3 Beeline 操作 ………………………………………………………………………… 215
7. 3. 1 Beeline 连接方式 ……………………………………………………………… 215
7. 3. 2 在 Beeline 中进行 SQL 查询操作 ………………………………………………… 218
7. 3. 3 通过 Web 控制台查看用户进行的操作…………………………………………… 220
7. 4 Thrift Server 应用示例 ……………………………………………………………… 221
7. 4. 1 示例源代码 …………………………………………………………………… 221
7. 4. 2 关键代码行解析………………………………………………………………… 222
7. 4. 3 测试运行 ……………………………………………………………………… 224
7. 4. 4 运行结果解析 ………………………………………………………………… 227
7. 4. 5 Spark Web 控制台查看运行日志 ………………………………………………… 227
7. 5 本章小结 …………………………………………………………………………… 228
第 8 章 Spark SQL 综合应用案例 ………………………………………………………… 229
8. 1 综合案例实战———电商网站日志多维度数据分析 ……………………………… 229
8. 1. 1 数据准备 ……………………………………………………………………… 230

8. 1. 2 数据说明 ……………………………………………………………………… 230
8. 1. 3 数据创建 ……………………………………………………………………… 230
8. 1. 4 数据导入 ……………………………………………………………………… 235
8. 1. 5 数据测试和处理………………………………………………………………… 240
8. 2 综合案例实战———电商网站搜索排名统计 ……………………………………… 245
8. 2. 1 案例概述 ……………………………………………………………………… 245
8. 2. 2 数据准备 ……………………………………………………………………… 245
8. 2. 3 实现用户每天搜索前 3 名的商品排名统计 ……………………………………… 249
8. 3 本章小结 …………………………………………………………………………… 254

常见问题
如何获取我想要的资源?
代找资源网不售卖任何资源,只代找资源,需要代找服务的小伙伴请添加客服QQ 1127720680

代找资源网不售卖任何资源,只提供代找服务

QQ客服

微信客服

微信客服
0

评论0

请先
显示验证码
没有账号?注册  忘记密码?