Spark
文章平均质量分 92
Zxy_true
低调的抗压的伙夫兄弟
展开
-
RDD调用机制、数据流在RDD中的流通
第一个调用iterator的地方现在知道compute方法的入口方法时iterator方法,即整个调用链是从iterator方法开始的,既然rdd的处理调用是一个向上迭代的过程,那么第一个调用iterator的地方在哪里呢?RDD算子最终会被转化为shuffle map task和result task,并发送到executor执行。而这个地方就在ShuffleMapTask的runTask方法中:进入write方法会在传入的rdd基础上调用RDD的iterator方法。进入该方法:原创 2022-11-16 21:30:02 · 1046 阅读 · 1 评论 -
Spark中的两种shuffle过程原理
Spark两种Shuffle在spark1.1以前只有hashshuffle,1.1版本引入了sortshuffle,1.2版本以后默认方式改为sort方式,2.0版本以后移除了hashshuffle。HashShuffle执行原理:Map阶段的shuffle是为了下一个stage的task拉取数据作的。每个Map阶段task把要输出的数据按key进行hash根据hash得到的值,生成和下一个stage的task数量相同的磁盘文件并写入。在将数据写入磁盘之前,会先将数据写入内存缓冲中,原创 2022-04-24 11:12:35 · 1363 阅读 · 0 评论