Apache spark 联合后JavaRdds中的行排序

Apache spark 联合后JavaRdds中的行排序,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我试图找出RDD中有关行顺序的任何信息。 以下是我试图做的: Rdd1, Rdd2 Rdd3 = Rdd1.union(rdd2); 在Rdd3中,是否可以保证rdd1记录首先出现,rdd2记录随后出现? 在我的测试中,我看到了这个行为联盟 正在发生,但在任何文档中都找不到 就FI而言,我真的不关心RDD本身的顺序(即rdd2或rdd1的数据顺序真的不关心,但在union之后,rdd1记录数据必须先到才是要求) 在Spark中,特定分区内的元素是无序的,而分区本身是有序的 如果您检查RDD

我试图找出RDD中有关行顺序的任何信息。 以下是我试图做的:

Rdd1, Rdd2 
Rdd3 = Rdd1.union(rdd2); 
在Rdd3中,是否可以保证rdd1记录首先出现,rdd2记录随后出现? 在我的测试中,我看到了这个行为联盟 正在发生,但在任何文档中都找不到


就FI而言,我真的不关心RDD本身的顺序(即rdd2或rdd1的数据顺序真的不关心,但在union之后,rdd1记录数据必须先到才是要求)

在Spark中,特定分区内的元素是无序的,而分区本身是有序的

如果您检查RDD3,您会发现RDD3只是RDD1的所有分区,后面紧跟着RDD2的所有分区,因此在本例中,结果恰好按照您想要的方式排序。您可以在这里看到,简单地连接来自2个RDD的分区是Spark的标准行为


所以在这种情况下,工会似乎会给你你想要的。但是,此行为是Union的一个实现细节,它不是其接口定义的一部分,因此您不能依赖这样一个事实,即将来不会使用不同的行为重新实现它。

thnaks,这很有帮助。我最好不用它。