本书以Spark 0.9版本为基础进行编写,是一本全面介绍Spark及Spark生态圈相关技术的书籍,是国内首本深入介绍 Spark 原理和架构的技术书籍。主要内容有 Spark 基础功能介绍及内部重要模块分析,包括部署模式、调度框架、存储管理以及应用监控;同时也详细介绍了 Spark 生态圈中其他的软件和模块,包括 SQL 处理引擎 Shark 和 Spark SQL、流式处理引擎 Spark Streaming、图计算框架 Graphx 以及分布式内存文件系统 Tachyon。本书从概念和原理上对 Spark 核心框架和生态圈做了详细的解读,并对 Spark 的应用现状和未来发展做了一定的介绍,旨在为大数据从业人员和 Spark爱好者提供一个更深入学习的平台。本书适合任何大数据、Spark 领域的从业人员阅读,同时也为架构师、软件开发工程师和大数据爱好者展现了一个现代大数据框架的架构原理和实现细节。相信通过学习本书,读者能够熟悉和掌握 Spark 这一当前流行的大数据框架,并将其投入到生产实践中去。
序
前言
第1章 Spark系统概述
1.1 大数据处理框架
1.2 Spark大数据处理框架
1.3 小结
第2章 Spark RDD及编程接口
2.1 Spark程序“Hello World”
2.2 Spark RDD
2.3 创建操作
2.4 转换操作
2.5 控制操作(control operation)
2.6 行动操作(action operation)
2.7 小结
第3章 Spark运行模式及原理
3.1 Spark运行模式概述
3.2 Local模式
3.3 Standalone模式
3.4 Localcluster模式
3.5 Mesos模式
3.6 YARN standalone/YARN cluster模式
3.7 YARN client模式
3.8 各种模式的实现细节比较
3.9 Spark 1.0版本之后的变化
3.10 小结
第4章 Spark调度管理原理
4.1 Spark作业调度管理概述
4.2 Spark调度相关基本概念
4.3 作业调度模块顶层逻辑概述
4.4 作业调度具体工作流程
4.5 任务集管理模块详解
4.6 调度池和调度模式分析
4.7 其他调度相关内容
4.8 小结
第5章 Spark的存储管理
5.1 存储管理模块整体架构
5.2 RDD持久化
5.3 Shuffle数据持久化
5.4 广播(Broadcast)变量持久化
5.5 小结
第6章 Spark监控管理
6.1 UI管理
6.2 Metrics管理
6.3 小结
第7章 Shark架构与安装配置
7.1 Shark架构浅析
7.2 Hive/Shark各功能组件对比
7.3 Shark安装配置与使用
7.4 Shark SQL命令行工具(CLI)
7.5 使用Shark Shell命令
7.6 启动SharkServer
7.7 Shark Server 2配置与启动
7.8 缓存数据表
7.9 常见问题分析
7.10 小结
注释
第8章 SQL程序扩展
8.1 程序扩展并行运行模式
8.2 Evaluator和ObjectInspector
8.3 自定义函数扩展
8.4 自定义数据存取格式
8.5 小结
第9章 Spark SQL
9.1 SparkSQL逻辑架构
9.2 Catalyst上下文(Context)
9.3 SQL DSL API
9.4 Java API
9.5 Python API
9.6 Spark SQL CLI
9.7 Thrift服务
9.8 小结
注释
第10章 Spark Streaming流数据处理框架
10.1 快速入门
10.2 Spark Streaming基本概念
10.3 性能调优
10.4 容错处理
10.5 DStream作业的产生和调度
10.6 DStream与RDD关系
10.7 数据接收原理
10.8 自定义数据输入源
10.9 自定义监控接口(StreamingListener)
10.10 Spark Streaming案例分析
10.11 小结
第11章 GraphX计算框架
11.1 图并行计算
11.2 GraphX模型设计
11.3 GraphX模型实现
11.4 GraphX应用
11.5 小结
第12章 Tachyon存储系统
12.1 设计原理
12.2 框架设计
12.3 Tachyon的部署
12.4 Tachyon应用
12.5 相关项目讨论
12.6 小结

