《深入理解Spark:核心思想与源码分析》2次印刷修订内容清单

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/beliefer/article/details/51657146 前言 自从《深入理解Spark:核心思想与源码分析》一书出版以来,陆续收到很多读者的反馈,笔者为此在第1版第2次印刷之前做了一些勘误。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/beliefer/article/details/51657146

前言

自从《深入理解Spark:核心思想与源码分析》一书出版以来,陆续收到很多读者的反馈,笔者为此在第1版第2次印刷之前做了一些勘误。为便于购买了老版本书籍的读者查漏补缺,现将勘误内容整理如下。

勘误内容

1、第20页第11行 “中间输出和结果存储在HDFS”改为了“中间输出和结果存储在磁盘”(如图1所示);


图1

2、第20页第12行 “读写HDFS造成”改为了“读写磁盘造成”(如图1所示);

3、第22页第14行 “要选择Java作为”改为了“要选择Scala作为”(如图2所示);


图2

4、第64页 代码清单3-41标题中的“ExecutorLIRLClassLoader的实现”改为了“ExecutorURLClassLoader的实现”(如图3所示);


图3

5、第123页 图4-8 在判断“失败达到最大次数?”与“开始复制”之间加有向箭头,表示当复制失败未达到最大次数还有继续进行复制(如图4所示);


图4

6、第148页 在解释defaultPartitioner的功能实现的第1)步中,将“partitions_"改为了“partitions"(如图5所示);


图5

7、第149页 在”方法“与”实际“之间增加”首先从CheckPoint(检查点)中获取分区信息。如果还没有设置过CheckPoint,则“(如图6所示);


图6

8、第149页 在MappedRDD前加入”检查点的内容请参阅http://blog.csdn.net/beliefer/article/details/51206980“(如图6所示);

9、第153页 在”dagScheduler的runJob,“后加入”最后当dagScheduler的runJob方法执行完毕后,会调用RDD的doCheckPoint方法保存检查点。有关检查点的具体分析请参阅http://blog.csdn.net/beliefer/article/details/51206980“(如图7所示)。


图7

10、第158页 在”获取RDD的所有Dependency的序列。“后加入”可以看到dependencies方法首先从CheckPoint中获取Dependency,如果尚未设置检查点意味着此Job此前还未执行成功或者未执行,那么调用getDenpencies方法获取依赖。有关检查点的内容请参阅http://blog.csdn.net/beliefer/article/details/51206980“(如图8所示);


图8

相关文章
|
Apache 分布式计算 Spark
Apache Spark Delta Lake 事务日志实现源码分析
Apache Spark Delta Lake 事务日志实现源码分析 我们已经在这篇文章详细介绍了 Apache Spark Delta Lake 的事务日志是什么、主要用途以及如何工作的。那篇文章已经可以很好地给大家介绍 Delta Lake 的内部工作原理,原子性保证,本文为了学习的目的,带领大家从源码级别来看看 Delta Lake 事务日志的实现。
2026 0
|
分布式计算 Java Shell
Spark源码分析之Spark Shell(上)
终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧。不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的。另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其实都可以通过这种方式来寻找源码入口。
933 0
Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九)
Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九)
1288 0
|
分布式计算 Spark 索引
Spark2.4.0源码分析之WorldCount ShuffleMapTask处理(八)
- 理解Executor中是如何调用Task的过程 - 理解ShuffleMapTask是处理过程
1617 0
|
调度 算法
Spark2.4.0源码分析之WorldCount 任务调度器(七)
- 理解TaskSet是如何提交到任务调度器池,任务集如何被调度 - 理解Worker可用资源算法,Worker可用资源分配任务调度池中的任务 - 任务发送给executor去执行
892 0
|
分布式计算 Spark Hadoop
Spark2.4.0源码分析之WorldCount Stage提交(DAGScheduler)(六)
- 理解ShuffuleMapStage是如何转化为ShuffleMapTask并作为TaskSet提交 - 理解ResultStage是如何转化为ResultTask并作为TaskSet提交
1175 0
|
分布式计算 Apache Spark
Spark2.4.0源码分析之WorldCount Stage提交顺序(DAGScheduler)(五)
理解FinalStage是如何按stage从前到后依次提交顺序
2219 0
|
缓存 分布式计算 Scala
Spark2.4.0源码分析之WorldCount Stage划分(DAGScheduler)(四)
理解FinalStage的转化(即Stage的划分)
891 0
|
分布式计算 Spark
Spark2.4.0源码分析之WorldCount 事件循环处理器(三)
理解DAG事件循环处理器处理事件流程
1042 0
|
分布式计算
Spark2.4.0源码分析之WorldCount 触发作业提交(二)
Final RDD作为参数,通过RDD.collect()函数触发作业提交
1374 0