spark数据分析基于python语言 中文版pdf_Spark数据分析:基于Python语言

钱毅
2023-12-01

译者序

前言

引言

第一部分 Spark基础

第1章 大数据、Hadoop、Spark介绍 2

1.1 大数据、分布式计算、Hadoop简介 2

1.1.1 大数据与Hadoop简史 2

1.1.2 Hadoop简介 3

1.2 Spark简介 8

1.2.1 Spark背景 9

1.2.2 Spark的用途 9

1.2.3 Spark编程接口 9

1.2.4 Spark程序的提交类型 10

1.2.5 Spark应用程序的输入/输出类型 11

1.2.6 Spark中的RDD 11

1.2.7 Spark与Hadoop 11

1.3 Python函数式编程 12

1.3.1 Python函数式编程中的数据结构 12

1.3.2 Python对象序列化 15

1.3.3 Python函数式编程基础 17

1.4 本章小结 19

第2章 部署Spark 20

2.1 Spark部署模式 20

2.1.1 本地模式 21

2.1.2 Spark独立集群 21

2.1.3 基于YARN运行Spark 22

2.1.4 基于Mesos运行Spark 22

2.2 准备安装Spark 23

2.3 获取Spark 23

2.4 在Linux或Mac OS X上安装Spark 25

2.5 在Windows上安装Spark 26

2.6 探索Spark安装目录 28

2.7 部署多节点的Spark独立集群 29

2.8 在云上部署Spark 30

2.8.1 AWS 30

2.8.2 GCP 32

2.8.3 Databricks 32

2.9 本章小结 34

第3章 理解Spark集群架构 35

3.1 Spark应用中的术语 35

3.1.1 Spark驱动器 36

3.1.2 Spark工作节点与执行器 38

3.1.3 Spark主进程与集群管理器 40

3.2 使用独立集群的Spark应用 41

3.3 在YARN上运行Spark应用 42

3.3.1 ResourceManager作为集群管理器 42

3.3.2 ApplicationMaster作为Spark主进程 42

3.4 在YARN上运行Spark应用的部署模式 42

3.4.1 客户端模式 42

3.4.2 集群模式 43

3.4.3 回顾本地模式 45

3.5 本章小结 45

第4章 Spark编程基础 46

4.1 RDD简介 46

4.2 加载数据到RDD 48

4.2.1 从文件创建RDD 48

4.2.2 从文本文件创建RDD 49

4.2.3 从对象文件创建RDD 52

4.2.4 从数据源创建RDD 52

4.2.5 从JSON文件创建RDD 54

4.2.6 通过编程创建RDD 56

4.3 RDD操作 57

4.3.1 RDD核心概念 57

4.3.2 基本的RDD转化操作 61

4.3.3 基本的RDD行动操作 65

4.3.4 键值对RDD的转化操作 69

4.3.5 MapReduce与单词计数练习 75

4.3.6 连接操作 78

4.3.7 在Spark中连接数据集 82

4.3.8 集合操作 85

4.3.9 数值型RDD的操作 87

4.4 本章小结 89

第二部分 基础拓展

第5章 Spark核心API高级编程 92

5.1 Spark中的共享变量 92

5.1.1 广播变量 92

5.1.2 累加器 96

5.1.3 练习:使用广播变量和累加器 99

5.2 Spark中的数据分区 100

5.2.1 分区概述 100

5.2.2 掌控分区 101

5.2.3 重分区函数 102

5.2.4 针对分区的API方法 104

5.3 RDD的存储选项 106

5.3.1 回顾RDD谱系 106

5.3.2 RDD存储选项 107

5.3.3 RDD缓存 109

5.3.4 持久化RDD 109

5.3.5 选择何时持久化或缓存RDD 112

5.3.6 保存RDD检查点 112

5.3.7 练习:保存RDD检查点 114

5.4 使用外部程序处理RDD 115

5.5 使用Spark进行数据采样 117

5.6 理解Spark应用与集群配置 118

5.6.1 Spark环境变量 118

5.6.2 Spark配置属性 121

5.7 Spark优化 124

5.7.1 早过滤,勤过滤 124

5.7.2 优化满足结合律的操作 124

5.7.3 理解函数和闭包的影响 126

5.7.4 收集数据的注意事项 127

5.7.5 使用配置参数调节和优化应用 127

5.7.6 避免低效的分区 128

5.7.7 应用性能问题诊断 130

5.8 本章小结 133

第6章 使用Spark进行SQL与NoSQL编程 134

6.1 Spark SQL简介 134

6.1.1 Hive简介 134

6.1.2 Spark SQL架构 138

6.1.3 DataFrame入门 141

6.1.4 使用DataFrame 150

6.1.5 DataFrame缓存、持久化与重新分区 157

6.1.6 保存DataFrame输出 158

6.1.7 访问Spark SQL 161

6.1.8 练习:使用Spark SQL 163

6.2 在Spark中使用NoSQL系统 165

6.2.1 NoSQL简介 165

6.2.2 在Spark中使用HBase 166

6.2.3 练习:在Spark中使用HBase 169

6.2.4 在Spark中使用Cassandra 170

6.2.5 在Spark中使用DynamoDB 172

6.2.6 其他NoSQL平台 174

6.3 本章小结 174

第7章 使用Spark处理流数据与消息 175

7.1 Spark Streaming简介 175

7.1.1 Spark Streaming架构 176

7.1.2 DStream简介 177

7.1.3 练习:Spark Streaming入门 183

7.1.4 状态操作 184

7.1.5 滑动窗口操作 185

7.2 结构化流处理 188

7.2.1 结构化流处理数据源 188

7.2.2 结构化流处理的数据输出池 189

7.2.3 输出模式 190

7.2.4 结构化流处理操作 190

7.3 在Spark中使用消息系统 192

7.3.1 Apache Kafka 192

7.3.2 KafkaUtils 195

7.3.3 练习:在Spark中使用Kafka 196

7.3.4 亚马逊Kinesis 199

7.4 本章小结 203

第8章 Spark数据科学与机器学习简介 204

8.1 Spark与R语言 204

8.1.1 R语言简介 204

8.1.2 通过R语言使用Spark 210

8.1.3 练习:在RStudio中使用SparkR 215

8.2 Spark机器学习 217

8.2.1 机器学习基础 217

8.2.2 使用Spark MLlib进行机器学习 220

8.2.3 练习:使用Spark MLlib实现推荐器 224

8.2.4 使用Spark ML进行机器学习 227

8.3 利用笔记本使用Spark 231

8.3.1 利用Jupyter(IPython)笔记本使用Spark 231

8.3.2 利用Apache Zeppelin笔记本使用Spark 233

8.4 本章小结 234

 类似资料: