Spark RDD map和mappartitions,生成的行顺序是否相同?

时间:2018-09-10 19:04:58

标签: apache-spark rdd

以下方面: rdd.map(x => x x) 与 rdd.mapPartions(x => x.map(c => c c))

在两种情况下生成的转换后的RDD的阶数是否相同?

1 个答案:

答案 0 :(得分:0)

是的,顺序(假设它是确定性的,并且上游没有广泛的转换)将是相同的。 map(f)只是dd.mapPartions(_。map(f))`的快捷方式。

但是,在一般情况下,您永远不应依赖于RDD中的值的顺序,除非使用明确的定义(例如对唯一值进行排序)明确定义的值或作业仅由狭窄的转换组成,并且源是确定性输入格式(就像与textFile一起使用的一样)。