Apache spark 1个分区的RDD上的collect、zipWithIndex、map和flatMap是否保持顺序?
我想知道这个简单的问题: 1个分区的RDD上的collect、zipWithIndex、map和flatMap是否保持顺序Apache spark 1个分区的RDD上的collect、zipWithIndex、map和flatMap是否保持顺序?,apache-spark,Apache Spark,我想知道这个简单的问题: 1个分区的RDD上的collect、zipWithIndex、map和flatMap是否保持顺序 谢谢RDD只能按键排序。无法对非键/值数据进行排序 但是,如果RDD中确实有一些已排序的键/值数据,那么collect将保留顺序。请注意,collectAsMap不会保留订单 map返回非键/值数据,因此返回的RDD不会被排序。平面地图也是如此 那mapToPair和flatMapToPair呢。如果这些工作所处理的RDD包含键/值数据,则没有理由假定输出RDD的键相同,因
谢谢RDD只能按键排序。无法对非键/值数据进行排序 但是,如果RDD中确实有一些已排序的键/值数据,那么collect将保留顺序。请注意,collectAsMap不会保留订单 map返回非键/值数据,因此返回的RDD不会被排序。平面地图也是如此 那mapToPair和flatMapToPair呢。如果这些工作所处理的RDD包含键/值数据,则没有理由假定输出RDD的键相同,因此不能假定顺序被保留。我无法想象,在密钥不变的情况下,这些方法是为了保持顺序而实现的 mapValues和flatMapValues确实保留了输入RDD的键,因此可能保留了顺序,但您必须自己进行调查
至于zipWithIndex,根据这一点:zipWithIndex作用的RDD的顺序没有被保留我认为RDD的元素从来没有被排序过。除非,也许,如果你做了点什么。