最近,关于基于排序的混洗存在一些困扰我的问题: 1.随机写入过程产生多少个文件?2个内核或2个任务? 2.基于排序的随机播放将产生两种类型的文件:数据文件和索引文件,那么数据文件是什么样的?能给我举个例子吗? 3. dataFile中生成多少个partitionID?根据什么生成partitionID?每个任务都会生成相同范围的partitionID吗?
答案 0 :(得分:0)
我假设您所说的“基于排序的软键”是SortShuffleWriter
。
ShuffleMapTask
生成2个文件,一个是索引文件,另一个是数据文件。在此过程中可能会生成临时溢出文件。但是,每个任务最终仅保留两个文件。因此,文件数应为2 *任务。 Long
,并根据分区的长度进行计算。数据文件包含所有分区,并且每个分区的数据在文件中是分开的。那就是分区的元素没有交织。