作品简介

本书对Spark内部高度抽象的数据结构RDD、分布式DAG调度器/驱动器,以及高效的基于Non-blocking IO分布式计算框架Akka/Netty等内核设计进行了深度剖析,不可多得,是适合大型分布式计算架构师和资深开源贡献者阅读的参考书。

作者:耿嘉安

作品目录

  • 本书赞誉
  • 前言
  • 第1章 环境准备
  • 1.1 运行环境准备
  • 1.2 Spark初体验
  • 1.3 阅读环境准备
  • 1.4 Spark源码编译与调试
  • 1.5 小结
  • 第2章 设计理念与基本架构
  • 2.1 初识Spark
  • 2.2 Spark基础知识
  • 2.3 Spark基本设计思想
  • 2.4 Spark基本架构
  • 2.5 小结
  • 第3章 Spark基础设施
  • 3.1 Spark配置
  • 3.2 Spark内置RPC框架
  • 3.3 事件总线
  • 3.4 度量系统
  • 3.5 小结
  • 第4章 SparkContext的初始化
  • 4.1 SparkContext概述
  • 4.2 创建Spark环境
  • 4.3 SparkUI的实现
  • 4.4 创建心跳接收器
  • 4.5 创建和启动调度系统
  • 4.6 初始化块管理器BlockManager
  • 4.7 启动度量系统
  • 4.8 创建事件日志监听器
  • 4.9 创建和启动ExecutorAllocationManager
  • 4.10 ContextCleaner的创建与启动
  • 4.11 额外的SparkListener与启动事件总线
  • 4.12 Spark环境更新
  • 4.13 SparkContext初始化的收尾
  • 4.14 SparkContext提供的常用方法
  • 4.15 SparkContext的伴生对象
  • 4.16 小结
  • 第5章 Spark执行环境
  • 5.1 SparkEnv概述
  • 5.2 安全管理器SecurityManager
  • 5.3 RPC环境
  • 5.4 序列化管理器SerializerManager
  • 5.5 广播管理器BroadcastManager
  • 5.6 map任务输出跟踪器
  • 5.7 构建存储体系
  • 5.8 创建度量系统
  • 5.9 输出提交协调器
  • 5.10 创建SparkEnv
  • 5.11 小结
  • 第6章 存储体系
  • 6.1 存储体系概述
  • 6.2 Block信息管理器
  • 6.3 磁盘Block管理器
  • 6.4 磁盘存储DiskStore
  • 6.5 内存管理器
  • 6.6 内存存储MemoryStore
  • 6.7 块管理器BlockManager
  • 6.8 BlockManagerMaster对BlockManager的管理
  • 6.9 Block传输服务
  • 6.10 DiskBlockObjectWriter详解
  • 6.11 小结
  • 第7章 调度系统
  • 7.1 调度系统概述
  • 7.2 RDD详解
  • 7.3 Stage详解
  • 7.4 面向DAG的调度器DAGScheduler
  • 7.5 调度池Pool
  • 7.6 任务集合管理器TaskSetManager
  • 7.7 运行器后端接口LauncherBackend
  • 7.8 调度后端接口SchedulerBackend
  • 7.9 任务结果获取器TaskResultGetter
  • 7.10 任务调度器TaskScheduler
  • 7.11 小结
  • 第8章 计算引擎
  • 8.1 计算引擎概述
  • 8.2 内存管理器与执行内存
  • 8.3 内存管理器与Tungsten
  • 8.4 任务内存管理器
  • 8.5 Task详解
  • 8.6 IndexShuffleBlockResolver详解
  • 8.7 采样与估算
  • 8.8 特质WritablePartitionedPairCollection
  • 8.9 AppendOnlyMap的实现分析
  • 8.10 PartitionedPairBuffer的实现分析
  • 8.11 外部排序器
  • 8.12 Shuffle管理器
  • 8.13 map端与reduce端的Shuffle组合
  • 8.14 小结
  • 第9章 部署模式
  • 9.1 心跳接收器HeartbeatReceiver
  • 9.2 Executor的实现分析
  • 9.3 local部署模式
  • 9.4 持久化引擎PersistenceEngine
  • 9.5 领导选举代理
  • 9.6 Master详解
  • 9.7 Worker详解
  • 9.8 StandaloneAppClient实现
  • 9.9 StandaloneSchedulerBackend的实现分析
  • 9.10 CoarseGrainedExecutorBackend详解
  • 9.11 local-cluster部署模式
  • 9.12 Standalone部署模式
  • 9.13 其他部署方案
  • 9.14 小结
  • 第10章 Spark API
  • 10.1 基本概念
  • 10.2 数据源DataSource
  • 10.3 检查点的实现
  • 10.4 RDD的再次分析
  • 10.5 数据集合Dataset
  • 10.6 DataFrameReader详解
  • 10.7 SparkSession详解
  • 10.8 word count例子
  • 10.9 小结
  • 附录
展开全部