为你推荐
扉页
版权页
前言
目录
第1章 Spark简介
1.1 Spark的技术背景
1.2 Spark的优点
1.3 Spark架构综述
1.4 Spark核心组件概述
1.4.1 Spark Streaming
1.4.2 MLlib
1.4.3 Spark SQL
1.4.4 GraphX
1.5 Spark的整体代码结构规模
第2章 Spark学习环境的搭建
2.1 源码的获取与编译
2.1.1 源码获取
2.1.2 源码编译
2.2 构建Spark的源码阅读环境
2.3 小结
第3章 RDD实现详解
3.1 概述
3.2 什么是RDD
3.2.1 RDD的创建
3.2.2 RDD的转换
3.2.3 RDD的动作
3.2.4 RDD的缓存
3.2.5 RDD的检查点
3.3 RDD的转换和DAG的生成
3.3.1 RDD的依赖关系
3.3.2 DAG的生成
3.3.3 Word Count的RDD转换和DAG划分的逻辑视图
3.4 RDD的计算
3.4.1 Task简介
3.4.2 Task的执行起点
3.4.3 缓存的处理
3.4.4 checkpoint的处理
3.4.5 RDD的计算逻辑
3.5 RDD的容错机制
3.6 小结
第4章 Scheduler模块详解
4.1 模块概述
4.1.1 整体架构
4.1.2 Scheduler的实现概述
4.2 DAGScheduler实现详解
4.2.1 DAGScheduler的创建
4.2.2 Job的提交
4.2.3 Stage的划分
4.2.4 任务的生成
4.3 任务调度实现详解
4.3.1 TaskScheduler的创建
4.3.2 Task的提交概述
4.3.3 任务调度具体实现
4.3.4 Task运算结果的处理
4.4 Word Count调度计算过程详解
4.5 小结
第5章 Deploy模块详解
5.1 Spark运行模式概述
5.1.1 local
5.1.2 Mesos
5.1.3 YARN
5.2 模块整体架构
5.3 消息传递机制详解
5.3.1 Master和Worker
5.3.2 Master和Client
5.3.3 Client和Executor
5.4 集群的启动
5.4.1 Master的启动
5.4.2 Worker的启动
5.5 集群容错处理
5.5.1 Master异常退出
5.5.2 Worker异常退出
5.5.3 Executor异常退出
5.6 Master HA实现详解
5.6.1 Master启动的选举和数据恢复策略
5.6.2 集群启动参数的配置
5.6.3 Curator Framework简介
5.6.4 ZooKeeperLeaderElectionAgent的实现
5.7 小结
第6章 Executor模块详解
6.1 Standalone 模式的Executor分配详解
6.1.1 SchedulerBackend创建AppClient
6.1.2 AppClient向Master注册Application
6.1.3 Master根据AppClient的提交选择Worker
6.1.4 Worker根据Master的资源分配结果创建Executor
6.2 Task的执行
6.2.1 依赖环境的创建和分发
6.2.2 任务执行
6.2.3 任务结果的处理
6.2.4 Driver端的处理
6.3 参数设置
6.3.1 spark.executor.memory
6.3.2 日志相关
6.3.3 spark.executor.heartbeatInterval
6.4 小结
第7章 Shuffle模块详解
7.1 Hash Based Shuffle Write
7.1.1 Basic Shuffle Writer实现解析
7.1.2 存在的问题
7.1.3 Shuffle Consolidate Writer
7.1.4 小结
7.2 Shuffle Pluggable框架
7.2.1 org.apache.spark.shuffle.ShuffleManager
7.2.2 org.apache.spark.shuffle.ShuffleWriter
7.2.3 org.apache.spark.shuffle.ShuffleBlockManager
7.2.4 org.apache.spark.shuffle.ShuffleReader
7.2.5 如何开发自己的Shuffle机制
7.3 Sort Based Write
7.4 Shuffle Map Task运算结果的处理
7.4.1 Executor端的处理
7.4.2 Driver端的处理
7.5 Shuffle Read
7.5.1 整体流程
7.5.2 数据读取策略的划分
7.5.3 本地读取
7.5.4 远程读取
7.6 性能调优
7.6.1 spark.shuffle.manager
7.6.2 spark.shuffle.spill
7.6.3 spark.shuffle.memoryFraction和spark.shuffle.safetyFraction
7.6.4 spark.shuffle.sort.bypassMergeThreshold
7.6.5 spark.shuffle.blockTransferService
7.6.6 spark.shuffle.consolidateFiles
7.6.7 spark.shuffle.compress和spark.shuffle.spill.compress
7.6.8 spark.reducer.maxMbInFlight
7.7 小结
第8章 Storage模块详解
8.1 模块整体架构
8.1.1 整体架构
8.1.2 源码组织结构
8.1.3 Master和Slave的消息传递详解
8.2 存储实现详解
8.2.1 存储级别
8.2.2 模块类图
8.2.3 org.apache.spark.storage.DiskStore实现详解
8.2.4 org.apache.spark.storage.MemoryStore实现详解
8.2.5 org.apache.spark.storage.TachyonStore实现详解
8.2.6 Block存储的实现
8.3 性能调优
8.3.1 spark.local.dir
8.3.2 spark.executor.memory
8.3.3 spark.storage.memoryFraction
8.3.4 spark.streaming.blockInterval
8.4 小结
第9章 企业应用概述
9.1 Spark在百度
9.1.1 现状
9.1.2 百度开放云BMR的Spark
9.1.3 在Spark中使用Tachyon
9.2 Spark在阿里
9.3 Spark在腾讯
9.4 小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜