我正在为我的项目学习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?
答案 0 :(得分:1)
suffle operation包括使用数据键上的哈希函数(数据局部问题)在worker(重新分区)上分发相关数据。
此操作涉及数据传输以在执行操作之前组织数据,减少操作次数增加性能。
Spark在2 transformation之间自动调用随机播放操作以执行最终action。
某些Spark转换需要随机播放(如分组依据,加入,排序)
某些Spark转换不需要随机播放(如Union,Map,Reduce,Filter,count)