YL13848 9787111591979 9787302496700
Spark SQL是Spark生态环境中核心和基础的组件,是掌握Spark的关键所在。本书从企业级开发的角度出发,结合多个企业级应用案例,深入剖析Spark SQL。全书共分为8章,包括:认识Spark SQL、DataFrame原理与常用操作、Spark SQL操作多种数据源、Parquet列式存储、Spark SQL内置函数与窗口函数、Spark SQL UDF与UDAF、Thrift Server、Spark SQL综合应用案例。
本书可以使读者对Spark SQL有深入的理解,本书适合于Spark学习爱好者,是学习Spark SQL的入门和提高教材,也是Spark开发工程师开发过程中查阅Spark SQL的案头手册。
前言
第1章认识Spark SQL
1.1Spark SQL概述
1.1.1Spark SQL与DataFrame
1.1.2DataFrame与RDD的差异
1.1.3Spark SQL的发展历程
1.2从零起步掌握Hive
1.2.1Hive的本质是什么
1.2.2Hive安装和配置
1.2.3使用Hive分析搜索数据
1.3Spark SQL on Hive安装与配置
1.3.1安装Spark SQL
1.3.2安装MySQL
1.3.3启动Hive Metastore
1.4Spark SQL初试
1.4.1通过spark-shell来使用Spark SQL
1.4.2Spark SQL的命令终端
1.4.3Spark的Web UI
1.5本章小结
第2章DataFrame原理与常用操作
2.1DataFrame编程模型
2.2DataFrame基本操作实战
2.2.1数据准备
2.2.2启动交互式界面
2.2.3数据处理与分析
2.3通过RDD来构建DataFrame
2.4缓存表(列式存储)
2.5DataFrame API应用示例
2.6本章小结
第3章Spark SQL 操作多种数据源
3.1通用的加载/保存功能
3.1.1Spark SQL加载数据
3.1.2Spark SQL保存数据
3.1.3综合案例——电商热销商品排名
3.2Spark SQL操作Hive示例
3.3Spark SQL操作JSON数据集示例
3.4Spark SQL操作HBase示例
3.5Spark SQL操作MySQL示例
3.5.1安装并启动MySQL
3.5.2准备数据表
3.5.3操作MySQL表
3.6Spark SQL操作MongoDB示例
3.6.1安装配置MongoDB
3.6.2启动MongoDB
3.6.3准备数据
3.6.4Spark SQL操作MongoDB
3.7本章小结
第4章Parquet列式存储
4.1Parquet概述
4.1.1Parquet的基本概念
4.1.2Parquet数据列式存储格式应用举例
4.2Parquet的Block配置及数据分片
4.2.1Parquet的Block的配置
4.2.2Parquet 内部的数据分片
4.3Parquet序列化
4.3.1Spark实施序列化的目的
4.3.2Parquet两种序列化方式
4.4本章小结
第5章Spark SQL内置函数与窗口函数
5.1Spark SQL内置函数
5.1.1Spark SQL内置函数概述
5.1.2Spark SQL内置函数应用实例
5.2Spark SQL窗口函数
5.2.1Spark SQL窗口函数概述
5.2.2Spark SQL窗口函数分数查询统计案例
5.2.3Spark SQL窗口函数NBA常规赛数据统计案例
5.3本章小结
第6章Spark SQL UDF与UDAF
6.1UDF概述
6.2UDF示例
6.2.1Hobby_count函数
6.2.2Combine函数
6.2.3Str2Int函数
6.2.4Wsternstate函数
6.2.5ManyCustomers函数
6.2.6StateRegion函数
6.2.7DiscountRatio函数
6.2.8MakeStruct函数
6.2.9MyDateFilter函数
6.2.10MakeDT函数
6.3UDAF概述
6.4UDAF示例
6.4.1ScalaAggregateFunction函数
6.4.2GeometricMean函数
6.4.3CustomMean函数
6.4.4BelowThreshold函数
6.4.5YearCompare函数
6.4.6WordCount函数
6.5本章小结
第7章Thrift Server
7.1Thrift概述
7.1.1Thrift的基本概念
7.1.2Thrift的工作机制
7.1.3Thrift的运行机制
7.1.4一个简单的Thrift 实例
7.2Thrift Server的启动过程
7.2.1Thrift Sever启动详解
7.2.2HiveThriftServer2类的解析
7.3Beeline操作
7.3.1Beeline连接方式
7.3.2在Beeline中进行SQL查询操作
7.3.3通过Web控制台查看用户进行的操作
7.4Thrift Server应用示例
7.4.1示例源代码
7.4.2关键代码行解析
7.4.3测试运行
7.4.4运行结果解析
7.4.5Spark Web控制台查看运行日志
7.5本章小结
第8章Spark SQL综合应用案例
8.1综合案例实战——电商网站日志多维度数据分析
8.1.1数据准备
8.1.2数据说明
8.1.3数据创建
8.1.4数据导入
8.1.5数据测试和处理
8.2综合案例实战——电商网站搜索排名统计
8.2.1案例概述
8.2.2数据准备
8.2.3实现用户每天搜索前3名的商品排名统计
8.3本章小结
第一部分 入门篇
第1章 初识Spark SQL 3
1.1 Spark SQL的前世今生 3
1.2 Spark SQL能做什么 4
第2章 Spark安装、编程环境搭建以及打包提交 6
2.1 Spark的简易安装 6
2.2 准备编写Spark应用程序的IDEA环境 10
2.3 将编写好的Spark应用程序打包成jar提交到Spark上 18
第二部分 基础篇
第3章 Spark上的RDD编程 23
3.1 RDD基础 24
3.1.1 创建RDD 24
3.1.2 RDD转化操作、行动操作 24
3.1.3 惰性求值 25
3.1.4 RDD缓存概述 26
3.1.5 RDD基本编程步骤 26
3.2 RDD简单实例—wordcount 27
3.3 创建RDD 28
3.3.1 程序内部数据作为数据源 28
3.3.2 外部数据源 29
3.4 RDD操作 33
3.4.1 转化操作 34
3.4.2 行动操作 37
3.4.3 惰性求值 38
3.5 向Spark传递函数 39
3.5.1 传入匿名函数 39
3.5.2 传入静态方法和传入方法的引用 40
3.5.3 闭包的理解 41
3.5.4 关于向Spark传递函数与闭包的总结 42
3.6 常见的转化操作和行动操作 42
3.6.1 基本RDD转化操作 43
3.6.2 基本RDD行动操作 48
3.6.3 键值对RDD 52
3.6.4 不同类型RDD之间的转换 56
3.7 深入理解RDD 57
3.8 RDD 缓存、持久化 59
3.8.1 RDD缓存 59
3.8.2 RDD持久化 61
3.8.3 持久化存储等级选取策略 63
3.9 RDD checkpoint容错机制 64
第4章 Spark SQL编程入门 66
4.1 Spark SQL概述 66
4.1.1 Spark SQL是什么 66
4.1.2 Spark SQL通过什么来实现 66
4.1.3 Spark SQL 处理数据的优势 67
4.1.4 Spark SQL数据核心抽象——DataFrame 67
4.2 Spark SQL编程入门示例 69
4.2.1 程序主入口:SparkSession 69
4.2.2 创建 DataFrame 70
4.2.3 DataFrame基本操作 70
4.2.4 执行SQL查询 72
4.2.5 全局临时表 73
4.2.6 Dataset 73
4.2.7 将RDDs转化为DataFrame 75
4.2.8 用户自定义函数 78
第5章 Spark SQL的DataFrame操作大全 82
5.1 由JSON文件生成所需的DataFrame对象 82
5.2 DataFrame上的行动操作 84
5.3 DataFrame上的转化操作 91
5.3.1 where条件相关 92
5.3.2 查询指定列 94
5.3.3 思维开拓:Column的巧妙应用 99
5.3.4 limit操作 102
5.3.5 排序操作:order by和sort 103
5.3.6 group by操作 106
5.3.7 distinct、dropDuplicates去重操作 107
5.3.8 聚合操作 109
5.3.9 union合并操作 110
5.3.10 join操作 111
5.3.11 获取指定字段统计信息 114
5.3.12 获取两个DataFrame中共有的记录 116
5.3.13 获取一个DataFrame中有另一个DataFrame中没有的记录 116
5.3.14 操作字段名 117
5.3.15 处理空值列 118
第6章 Spark SQL支持的多种数据源 121
6.1 概述 121
6.1.1 通用load/save 函数 121
6.1.2 手动指定选项 123
6.1.3 在文件上直接进行SQL查询 123
6.1.4 存储模式 123
6.1.5 持久化到表 124
6.1.6 bucket、排序、分区操作 124
6.2 典型结构化数据源 125
6.2.1 Parquet 文件 125
6.2.2 JSON 数据集 129
6.2.3 Hive表 130
6.2.4 其他数据库中的数据表 133
第三部分 实践篇
第7章 Spark SQL 工程实战之基于WiFi探针的商业大数据分析技术 139
7.1 功能需求 139
7.1.1 数据收集 139
7.1.2 数据清洗 140
7.1.3 客流数据分析 141
7.1.4 数据导出 142
7.2 系统架构 142
7.3 功能设计 143
7.4 数据库结构 144
7.5 本章小结 144
第8章 第一个Spark SQL应用程序 145
8.1 完全分布式环境搭建 145
8.1.1 Java 环境配置 145
8.1.2 Hadoop 安装配置 146
8.1.3 Spark安装配置 149
8.2 数据清洗 150
8.3 数据处理流程 153
8.4 Spark程序远程调试 164
8.4.1 导出jar包 164
8.4.2 IDEA配置 168
8.4.3 服务端配置 170
8.5 Spark的Web界面 171
8.6 本章小结 172
第四部分 优化篇
第9章 让Spark程序再快一点 175
9.1 Spark执行流程 175
9.2 Spark内存简介 176
9.3 Spark的一些概念 177
9.4 Spark编程四大守则 178
9.5 Spark调优七式 183
9.6 解决数据倾斜问题 192
9.7 Spark 执行引擎 Tungsten 简介 195
9.8 Spark SQL解析引擎Catalyst 简介 197
9.9 本章小结 200
评分
评分
评分
评分
评分
评分
评分
评分
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有