《深入理解Spark-核心思想与源码分析》(六)第六章计算引擎

RDD是Spark对各类数据计算模型的统一抽象,被用于迭代计算过程以及任务输出结果的缓存读写。

在所有MapReduce框架中,shuffle是连接map任务和reduce任务的桥梁。shuffle性能优劣直接决定了

整个计算引擎的性能和吞吐量。

6.1 迭代计算

MappedRDD的iterator方法

6.2 什么是shuffle

shuffle是所有MapReduce计算框架所必须经过的阶段,shuffle用于打通map任务的输出与reduce任务的输入,

map任务的中间输出结果按照key值哈希后分配给某一个reduce任务。

目前Spark的shuffle已经做了多种性能优化,主要解决方案包括:

猜你喜欢

转载自www.cnblogs.com/sunrunzhi/p/10402668.html