Spark ShuffleExecutor是如何fetch shuffle的数据文件

Posted raintungli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark ShuffleExecutor是如何fetch shuffle的数据文件相关的知识,希望对你有一定的参考价值。

1. 前言

前面的博客中讨论了Executor, Driver之间如何汇报Executor生成的Shuffle的数据文件,以及Executor获取到Shuffle的数据文件的分布,那么Executor是如何获取到Shuffle的数据文件进行Action的算子的计算呢?

在ResultTask中,Executor通过MapOutPutTracker向Driver获取了ShuffID的Shuffle数据块的结构,整理成以BlockManangerId为Key的结构,这样可以更容易区分究竟是本地的Shuffle还是远端executor的Shuffle

2. Fetch数据

在MapOutputTracker中获取到的BlockID的地址,是以BlockManagerId的seq数组

以上是关于Spark ShuffleExecutor是如何fetch shuffle的数据文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在Spark中使用AND或OR条件

Spark Python/SQL - 如何使用独特的组合进行分组

如何在 SparkR 中将额外的参数传递给 spark.lapply?

spark.mllib源码阅读-优化算法1-Gradient

读取分区镶木地板时,Spark 错误地将以“d”或“f”结尾的分区名称解释为数字

Spark Job具体的物理执行