2
将RDD写入文件之前执行以下转换之间的区别是什么?Apache Spark中的混洗与非混洗聚结
- COALESCE(1,随机播放= TRUE)
- COALESCE(1,随机播放= FALSE)
代码示例:
val input = sc.textFile(inputFile)
val filtered = input.filter(doSomeFiltering)
val mapped = filtered.map(doSomeMapping)
mapped.coalesce(1, shuffle = true).saveAsTextFile(outputFile)
vs
mapped.coalesce(1, shuffle = false).saveAsTextFile(outputFile)
它是如何与收集比较() ?我完全知道Spark保存方法会将其与HDFS风格的结构一起存储,但我更关注collect()和shuffled/non-shuffle coalesce()的数据分区方面。
我不确定这是否正确。我已经看到了RDD计划结构中输出分区数量的限制,以迫使其他操作也使用较低数量(本例中为1)的分区。这通常不是你想要的。 –