《Spark 原理、机制及应用》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:刘驰主编;符积高,徐闻春编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111529286
  • 页数:264 页
图书介绍:本书是一本以Spark 1.4为基础,详细介绍了Spark技术的概况、内部机制和企业界的应用情况。作者结合国内外众多资料和项目经验,力求深入浅出地讲解Spark技术的生态应用和发展状况,此外还选取了Spark Summit中的典型案例进行解析,为读者全面展现Spark技术在企业界的应用情况。本书适合Spark技术初学者、Spark技术爱好者、Spark运维工程师和开源软件爱好者,也可以作为相关培训学校和大专院校相关专业的教学用书。

第一篇 概念篇 2

第1章 Spark概述 2

1.1 Spark初见 2

1.1.1 Spark的发展史及近况 2

1.1.2 Spark的特点 5

1.1.3 Spark的作用 6

1.1.4 Spark的体系结构 6

1.1.5 Spark的发展趋势 6

1.2 Spark框架 7

1.2.1 批处理框架 7

1.2.2 流处理框架 8

1.3 Spark的生态系统 8

1.4 Spark的数据存储 11

1.5 本章小结 11

第2章 Spark环境配置 12

2.1 Spark运行环境配置 12

2.1.1 先决条件 12

2.1.2 下载与运行Spark 13

2.1.3 使用交互式Shell 14

2.1.4 搭建Spark Standalone集群 16

2.2 Spark开发环境配置 18

2.2.1 Spark独立应用程序 18

2.2.2 构建IDE开发环境 24

2.3 Spark编译环境配置 29

2.3.1 使用Maven编译项目源码 30

2.3.2 使用IDEA搭建源码编译与阅读环境 31

2.4 本章小结 35

第二篇 开发篇 37

第3章 Spark核心开发 37

3.1 Spark编程模型概述 37

3.2 SparkContext 38

3.2.1 SparkContext的作用 38

3.2.2 SparkContext的创建 38

3.2.3 使用Shell 41

3.2.4 应用实践 41

3.3 RDD简介 42

3.3.1 RDD创建 42

3.3.2 RDD转换操作 43

3.3.3 RDD动作操作 44

3.3.4 RDD惰性计算 44

3.3.5 RDD持久化 44

3.3.6 RDD检查点 45

3.4 共享变量 45

3.4.1 广播变量 45

3.4.2 累加器 46

3.5 Spark核心开发实践 46

3.5.1 单值型Trasnformation算子 46

3.5.2 键值对型Transformation算子 58

3.5.3 Action算子 64

3.6 本章小结 72

第4章 Spark四大应用技术框架 73

4.1 Spark SQL 73

4.1.1 Spark SQL入门 73

4.1.2 数据源 75

4.1.3 性能调优 81

4.1.4 分布式SQL引擎 82

4.1.5 Shark迁移至Spark SQL指南 82

4.1.6 Hive的兼容性 83

4.1.7 Spark SQL数据类型 85

4.2 Spark Streaming 86

4.2.1 Spark Streaming简介 87

4.2.2 入门实例 87

4.2.3 基本概念 89

4.3 Spark GraphX 97

4.3.1 Spark GraphX简介 97

4.3.2 属性图 98

4.3.3 图操作 100

4.3.4 Pregel API 108

4.3.5 图构造器 110

4.3.6 顶点与边相关RDD 111

4.3.7 最优化表示 113

4.3.8 图算法 114

4.3.9 Example 116

4.4 Spark MLlib 116

4.4.1 SparkMLlib简介 116

4.4.2 数据类型 117

4.4.3 基本统计分析 121

4.4.4 分类与回归 123

4.4.5 协同过滤 136

4.4.6 聚类 138

4.4.7 降维 139

4.4.8 特征提取与转换 141

4.4.9 频繁模式挖掘 146

4.4.10 最优化算法 147

4.4.11 导出PMML模式 149

4.5 SparkR 150

4.5.1 SparkR DataFrame 150

4.5.2 DataFrame的相关操作 152

4.5.3 从SparkR运行SQL查询 153

第5章 Spark系统配置与调优 154

5.1 Spark运行监控 154

5.2 Spark配置参数 158

5.2.1 应用属性 159

5.2.2 运行环境属性 159

5.2.3 Shuffle操作属性 160

5.2.4 压缩与序列化属性 161

5.2.5 数据序列化 161

5.3 内存调优 162

5.3.1 调整数据结构 162

5.3.2 序列化RDD存储 162

5.3.3 GC 162

5.4 其他调优 164

5.4.1 并行度 164

5.4.2 Reduce任务 164

5.4.3 广播变量 165

5.4.4 数据本地化 165

5.4.5 网络通信调优 165

5.4.6 磁盘空间优化 166

5.4.7 任务执行速度“倾斜” 166

5.5 本章小结 166

第三篇 机制篇 168

第6章 RDD内部结构 168

6.1 RDD接口 168

6.2 分区 169

6.2.1 分区接口 169

6.2.2 分区个数 170

6.2.3 分区内部的记录个数 171

6.3 依赖关系 172

6.3.1 依赖与RDD 173

6.3.2 依赖分类 173

6.3.3 窄依赖 174

6.3.4 Shuffle依赖 175

6.3.5 依赖与容错机制 176

6.3.6 依赖与并行计算 177

6.4 计算函数 179

6.4.1 compute方法 179

6.4.2 iterator方法 179

6.5 分区器 181

6.5.1 哈希分区器 181

6.5.2 范围分区器 181

6.5.3 默认分区器 182

6.6 持久化 183

6.7 检查点 184

6.8 本章小结 184

第7章 Spark调度机制 186

7.1 调度基础 186

7.1.1 基本概念 187

7.1.2 通信框架 187

7.2 集群资源调度 188

7.2.1 集群部署图 188

7.2.2 集群资源注册 189

7.2.3 集群资源申请与分配 191

7.3 DAG调度 194

7.3.1 DAG调度通信机制 194

7.3.2 作业处理流程 195

7.3.3 阶段划分 200

7.4 任务调度 201

7.4.1 任务分类与执行 201

7.4.2 任务划分与提交 202

7.4.3 任务调度算法 204

7.4.4 任务调度相关类 205

7.4.5 任务分配 205

7.4.6 任务接收与执行 207

7.5 本章小结 207

第8章 Shuffle过程 208

8.1 与Hadoop Shuffle过程的区别 208

8.1.1 MR模型的Shuffle过程 208

8.1.2 聚合器 209

8.1.3 哈希Shuffle与排序Shuffle 211

8.1.4 Spark的Shuffle过程 211

8.2 Shuffle写过程 213

8.2.1 哈希Shuffle写过程 213

8.2.2 排序Shuffle写过程 215

8.3 Shuffle读过程 216

8.4 本章小结 218

第四篇 应用篇 220

第9章 视频娱乐领域 220

9.1 腾讯公司在Hadoop和Spark平台上的应用 220

9.1.1 公司背景特点 220

9.1.2 业务需求 221

9.1.3 解决方案 221

9.1.4 方案效果 225

9.1.5 小结 225

9.2 Spotify公司在Hadoop和Spark平台ALS算法的运行时间对比 226

9.2.1 公司背景特点 226

9.2.2 业务需求 226

9.2.3 解决方案 226

9.2.4 方案效果 227

9.2.5 小结 228

9.3 本章小结 228

第10章 电商领域 229

10.1 淘宝公司在Spark平台上对GraphX与Bagel的运行效果对比 229

10.1.1 公司背景特点 229

10.1.2 业务需求 229

10.1.3 解决方案 230

10.1.4 方案效果 232

10.1.5 小结 232

10.2 Yahoo !关于Hive与Shark的应用 233

10.2.1 公司背景特点 233

10.2.2 业务需求 233

10.2.3 解决方案 234

10.2.4 方案效果 235

10.2.5 小结 235

10.3 本章小结 235

第11章 电信领域 236

11.1 Telefonica应用Spark和Cassandra方案解决多用户事务查询 236

11.1.1 公司背景特点 236

11.1.2 业务需求 236

11.1.3 解决方案 237

11.1.4 方案效果 239

11.1.5 小结 239

11.2 NTT DATA对Spark on YARN架构各项性能测试分析 240

11.2.1 公司背景特点 240

11.2.2 业务需求 240

11.2.3 解决方案 240

11.2.4 方案效果 245

11.2.5 小结 245

11.3 本章小结 245

第12章 零售领域 246

12.1 Euclid Analysis基于Spark的地理位置分析服务 246

12.1.1 公司背景特点 246

12.1.2 业务需求 247

12.1.3 解决方案 248

12.1.4 方案效果 249

12.1.5 小结 250

12.2 Graphflow应用Spark MLlib进行实时个性化推荐 250

12.2.1 公司背景特点 251

12.2.2 业务需求 251

12.2.3 解决方案 252

12.2.4 方案效果 253

12.2.5 小结 254

12.3 本章小结 254

第13章 其他领域 255

13.1 Uber基于Spark的私家车搭乘服务 255

13.1.1 公司背景特点 255

13.1.2 业务需求 256

13.1.3 解决方案 257

13.1.4 方案效果 258

13.1.5 小结 259

13.2 PubMatic应用Spark提供广告服务 260

13.2.1 公司背景特点 260

13.2.2 业务需求 260

13.2.3 解决方案 261

13.2.4 方案效果 262

13.2.5 小结 263

13.3 本章小结 264