Spark shuffle操作如何工作?

时间:2017-11-14 08:44:15

标签: apache-spark

我正在为我的项目学习Spark,而我在Spark中遇到了洗牌过程。我想知道这个操作如何在内部工作。我发现这个操作涉及一些关键字:ShuffleMapStage,ShuffleMapTask,ShuffledRDD,Shuffle Write,Shuffle Read ....

我的问题是:

1) Why we need ShuffleMapStage? When this stage is created and how it works?
2) When ShuffledRDD's compute method is called?
3) What are Shuffle Read and Shuffle Write?

1 个答案:

答案 0 :(得分:1)

suffle operation包括使用数据键上的哈希函数(数据局部问题)在worker(重新分区)上分发相关数据。

此操作涉及数据传输以在执行操作之前组织数据,减少操作次数增加性能。

Spark在2 transformation之间自动调用随机播放操作以执行最终action

某些Spark转换需要随机播放(如分组依据,加入,排序)

某些Spark转换不需要随机播放(如Union,Map,Reduce,Filter,count)