图书介绍
Spark内核机制解析及性能调优PDF|Epub|txt|kindle电子书版本网盘下载
![Spark内核机制解析及性能调优](https://www.shukui.net/cover/28/31938257.jpg)
- 王家林,段智华等编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111554424
- 出版时间:2017
- 标注页数:344页
- 文件大小:255MB
- 文件页数:354页
- 主题词:数据处理软件
PDF下载
下载说明
Spark内核机制解析及性能调优PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 RDD功能解析1
1.1 RDD产生的技术背景及功能1
1.2 RDD的基本概念2
1.2.1 RDD的定义2
1.2.2 RDD五大特性5
1.2.3 RDD弹性特性的7个方面7
1.3 创建RDD的方式13
1.3.1 通过已经存在的Scala集合创建RDD13
1.3.2 通过HDFS和本地文件系统创建RDD13
1.3.3 其他的RDD的转换14
1.3.4 其他的RDD的创建20
1.4 RDD算子21
1.5 RDD的Transformation算子24
1.5.1 Transformation的定义24
1.5.2 Transformation在RDD中的角色定位及功能24
1.5.3 Transformation操作的Lazy特性24
1.5.4 通过实践说明Transformation的Lazy特性25
1.6 RDD的Action算子25
1.6.1 Action的定义25
1.6.2 Action在RDD中的角色定位及功能25
1.7 小结27
第2章 RDD的运行机制28
2.1 RDD依赖关系28
2.1.1 窄依赖(Narrow Dependency)28
2.1.2 宽依赖(Shuffle Dependency)30
2.2 有向无环图(Directed Acyclic Graph,DAG)31
2.2.1 什么是DAG31
2.2.2 DAG的生成机制32
2.2.3 DAG的逻辑视图33
2.3 RDD内部的计算机制34
2.3.1 RDD的计算任务(Task)34
2.3.2 RDD的计算过程35
2.4 RDD中缓存的适用场景和工作机制41
2.4.1 缓存的使用41
2.4.2 缓存的适用场景42
2.4.3 缓存工作机制解析43
2.5 RDD的检查点(Checkpoint)的适用场景和工作机制45
2.5.1 Checkpoint的触发45
2.5.2 Checkpoint的适用场景46
2.5.3 Checkpoint工作机制解析46
2.6 RDD容错原理及其四大核心要点49
2.6.1 RDD容错原理49
2.6.2 RDD容错的四大核心要点49
2.7 通过WordCount实践RDD内部机制51
2.7.1 WordCount案例实践51
2.7.2 解析RDD生成的内部机制53
2.8 小结54
第3章 部署模式(Deploy)解析55
3.1 部署模式概述55
3.2 应用程序的部署55
3.2.1 应用程序部署的脚本解析55
3.2.2 应用程序部署的源代码解析58
3.3 Local与Local-Cluster部署69
3.3.1 Local部署70
3.3.2 Local[*]与Local[N]部署70
3.3.3 Local[*,M]与Local[N,M]部署70
3.3.4 Local-Cluster[S,C,M]部署72
3.4 Spark Standalone部署72
3.4.1 部署框架72
3.4.2 应用程序的部署73
3.4.3 Master的部署84
3.4.4 Worker的部署98
3.4.5 内部交互的消息机制108
3.4.6 Master HA的部署110
3.5 Spark on YARN的部署模型115
3.5.1 部署框架115
3.5.2 应用程序的部署118
3.6 小结124
第4章 Spark调度器(Scheduler)运行机制125
4.1 Spark运行的核心概念125
4.1.1 Spark运行的基本对象125
4.1.2 Spark运行框架及各组件的基本运行原理126
4.2 Spark Driver Program剖析127
4.2.1 什么是Spark Driver Program127
4.2.2 SparkContext原理剖析128
4.2.3 SparkContext源代码解析129
4.3 Spark Job的触发134
4.3.1 Job的逻辑执行(General Logical Plan)134
4.3.2 Job具体的物理执行135
4.3.3 Job触发流程源代码解析138
4.4 高层的DAG调度器(DAGScheduler)140
4.4.1 DAG的定义140
4.4.2 DAG的实例化140
4.4.3 DAGScheduer划分Stage的原理142
4.4.4 DAGScheduer划分Stage的具体算法143
4.4.5 Stage内部Task获取最佳位置的算法148
4.5 底层的Task调度器(TaskScheduler)150
4.5.1 TaskScheduer原理剖析151
4.5.2 TaskScheduer源代码解析152
4.6 调度器的通信终端(SchedulerBackend)157
4.6.1 SchedulerBackend原理157
4.6.2 SchedulerBackend源代码解析158
4.6.3 Spark程序的注册机制160
4.6.4 Spark程序对计算资源Executor的管理163
4.7 小结167
第5章 执行器(Executor)168
5.1 Executor的创建、分配、启动及异常处理169
5.1.1 Executor的创建169
5.1.2 Executor的资源分配177
5.1.3 Executor的启动183
5.1.4 Executor的异常处理188
5.2 执行器的通信接口(ExecutorBackend)190
5.2.1 ExecutorBackend接口与Executor的关系190
5.2.2 ExecutorBackend的不同实现191
5.2.3 ExecutorBackend中的通信194
5.3 执行器(Executor)中任务的执行198
5.3.1 Executor中任务的加载198
5.3.2 Executor中的任务线程池199
5.3.3 任务执行失败处理199
5.3.4 剖析TaskRunner201
5.4 小结202
第6章 Spark的存储模块(Storage)203
6.1 Storage概述203
6.1.1 Storage的概念203
6.1.2 Storage的设计模式204
6.2 Storage模块整体架构204
6.2.1 通信层205
6.2.2 存储层208
6.2.3 Partition与Block的对应关系235
6.3 不同Storage Level对比236
6.4 Executor内存模型237
6.5 Tachyon239
6.5.1 Tachyon简介239
6.5.2 Tachyon API的使用240
6.5.3 Tachyon在Spark中的使用242
6.6 小结245
第7章 Shuffle机制246
7.1 Shuffle概述246
7.2 Shuffle的框架248
7.2.1 Shuffle的框架演进248
7.2.2 Shuffle的框架内核249
7.2.3 Shuffle框架的源代码解析250
7.2.4 Shuffle的注册254
7.2.5 Shuffle读写数据的源代码解析255
7.3 基于Hash的Shuffle261
7.3.1 基于Hash的Shuffle内核261
7.3.2 基于Hash的Shuffle写数据的源代码解析265
7.4 基于Sort的Shuffle270
7.4.1 基于Sort的Shuffle内核271
7.4.2 基于Sort的Shuffle写数据的源代码解析273
7.5 基于Tungsten Sort的Shuffle279
7.5.1 基于Tungsten Sort的Shuffle内核279
7.5.2 基于Tungsten Sort的Shuffle写数据的源代码解析281
7.6 小结286
第8章 钨丝计划(Project Tungsten)287
8.1 钨丝计划(Project Tungsten)概述287
8.2 内存管理模型288
8.2.1 现有内存管理的机制288
8.2.2 Project Tungsten内存管理的模型及其源代码的解析290
8.3 基于内存管理模型的Shuffle二进制数据处理305
8.3.1 插入记录时二进制数据的处理308
8.3.2 spill时二进制数据的处理312
8.4 小结313
第9章 性能优化314
9.1 Spark的配置机制314
9.1.1 通过SparkConf配置Spark314
9.1.2 通过spark-submit配置Spark315
9.1.3 通过配置文件配置Spark316
9.1.4 Spark配置机制总结316
9.2 性能诊断317
9.2.1 WebUI的8080端口317
9.2.2 WebUI的18080端口318
9.2.3 WebUI的4040端口319
9.2.4 WebUI的Jobs页面319
9.2.5 WebUI的Stages页面320
9.2.6 WebUI的Storage页面321
9.2.7 WebUI的Environment页面322
9.2.8 WebUI的Executors页面324
9.2.9 Driver和Executor的日志324
9.3 性能优化325
9.3.1 程序编写准则325
9.3.2 并行度330
9.3.3 资源参数调优331
9.3.4 序列化与压缩332
9.3.5 内存调优334
9.3.6 广播大变量336
9.3.7 持久化与checkpoint337
9.3.8 数据本地性341
9.3.9 垃圾回收调优342
9.3.10 Shuffle调优343
9.4 小结344