封面
版权页
内容提要
前言
第1章 Spark SQL基础知识
1.1 Spark SQL背景
1.2 Spark SQL简介
1.2.1 Spark SQL的特点
1.2.2 Spark SQL的用途
1.2.3 Spark SQL的使用场景
1.3 为什么要学习Spark SQL
1.4 Spark SQL的原理
1.4.1 传统SQL的运行原理
1.4.2 Spark SQL的运行原理
1.4.3 Spark SQL的开发步骤
1.5 Spark SQL的运行模式
1.5.1 Local模式
1.5.2 Standalone模式
1.5.3 OnYarn模式
第2章 Spark SQL安装部署
2.1 运行环境说明
2.1.1 操作系统说明
2.1.2 Java版本说明
2.1.3 Scala版本说明
2.1.4 操作系统客户端工具说明
2.2 运行环境准备
2.2.1 依赖下载
2.2.2 安装Java
2.2.3 安装Scala
2.3 部署Spark SQL
2.3.1 下载安装包
2.3.2 单机部署
2.3.3 集群部署
2.3.4 运行环境参数
第3章 第一个Spark SQL应用程序
3.1 搭建开发环境
3.1.1 下载开发工具
3.1.2 安装IDEA
3.2 编写Spark SQL应用程序
3.2.1 Spark SQL应用程序的编写步骤
3.2.2 编写第一个Spark SQL应用程序
3.2.3 运行第一个Spark SQL应用程序
第4章 Spark SQL编程基础
4.1 RDD概述
4.1.1 RDD的优缺点
4.1.2 RDD模型介绍
4.2 深入剖析RDD
4.2.1 Spark相关专业术语定义
4.2.2 Spark Application的构成
4.2.3 Spark运行的基本流程
4.2.4 Spark运行架构的特点
4.2.5 Spark核心原理
4.3 创建RDD
4.4 RDD操作
4.4.1 RDD转换操作
4.4.2 RDD控制操作
4.4.3 RDD行动操作
4.5 RDD持久化
4.5.1 持久化优势
4.5.2 持久化策略
4.6 RDD容错机制
4.6.1 lineage机制
4.6.2 checkpoint机制
第5章 Spark SQL编程进阶
5.1 概述
5.2 SparkSession
5.2.1 SparkSession介绍
5.2.2 创建SparkSession
5.2.3 SparkSession参数设置
5.2.4 SparkSession元信息读取
5.3 DataFrame
5.3.1 深入理解DataFrame
5.3.2 DataFrame的优缺点
5.3.3 DataFrame的演变过程
5.3.4 DataFrame的使用形式
5.3.5 创建DataFrame
5.3.6 DataFrame操作
5.3.7 DataFrame持久化
5.3.8 DataFrame实例
5.4 DataSet
5.4.1 深入理解DataSet
5.4.2 DataSet的优点
5.4.3 创建DataSet
5.4.4 DataSet操作
5.4.5 DataSet持久化
5.5 数据抽象的共性与区别
5.5.1 3种数据抽象的共性
5.5.2 3种数据抽象的区别
5.6 数据抽象的相互转换
5.6.1 将RDD转换为DataFrame
5.6.2 将DataFrame转换为DataSet
5.6.3 将DataSet转换为DataFrame
第6章 Spark SQL函数
6.1 用户定义函数
6.1.1 注册UDF
6.1.2 使用UDF
6.1.3 UDF实例
6.2 用户定义聚合函数
6.2.1 注册UDAF
6.2.2 使用UDAF
6.2.3 UDAF实例
6.3 常用内置函数
第7章 Spark SQL性能调优
7.1 概述
7.1.1 木桶原理
7.1.2 阿姆达尔定律
7.2 并行度调优
7.2.1 什么是并行度
7.2.2 为什么需要对并行度进行调优
7.2.3 如何合理设置并行度
7.3 内存调优
7.3.1 为什么需要对内存进行调优
7.3.2 如何充分使用内存
7.4 磁盘I/O调优
7.4.1 为什么需要对磁盘I/O进行调优
7.4.2 如何充分使用磁盘I/O
7.5 网络I/O调优
7.5.1 为什么需要对网络I/O进行调优
7.5.2 如何充分使用网络I/O
第8章 Spark SQL编程实践
8.1 Spark SQL实践一——学生考试信息分析
8.2 Spark SQL实践二——生鲜电商交易数据分析
8.3 Spark SQL实践三——四川省新生婴儿信息分析
附录
附录1 常用内置函数
附录1.1 常用聚合函数
附录1.2 常用排序函数
附录1.3 常用字符串函数
附录1.4 常用时间函数
附录1.5 常用数学函数
附录1.6 常用集合函数
附录1.7 其他常用函数
附录2 常用高阶函数
附录2.1 transform函数
附录2.2 aggregate函数
附录2.3 filter函数
附录2.4 exists函数
附录2.5 zip_with函数
附录3 术语解释
更新时间:2025-03-12 17:55:18