最近我想了解Spark如何使用Sort shuffle。我发现spark对映射器端进行排序,然后使用tim sort在减速器端使用相同的内容。
如果我们已经在mapper端进行了排序,为什么不重用该代码代替重新排序,那么考虑排序是昂贵的呢?
注意:Tim sort需要排序列表。
答案 0 :(得分:0)
在化简器方面,BlockStoreShuffleReader
从多个映射任务中提取混洗数据。尽管地图任务对自己的数据进行了排序,但由于精简器需要合并来自多个源的数据,因此它必须在所有提取的数据中采用组合排序。