Apache spark ApacheSpark中的Sortbykey
我正在与ApacheSpark合作一个项目。我非常了解spark中的转换和操作,但是突然之间我对spark中的sortByKey()函数感到困惑 这是如何工作的,它是否考虑所有分区(即所有RDD)进行排序,或者数据在单个RDD中进行排序 我的要求是像在任何编程语言(java中的Collections.sort())中排序一样,对数据进行全局排序 考虑以下代码:(xyz是经过一系列操作后的rdd)Apache spark ApacheSpark中的Sortbykey,apache-spark,rdd,Apache Spark,Rdd,我正在与ApacheSpark合作一个项目。我非常了解spark中的转换和操作,但是突然之间我对spark中的sortByKey()函数感到困惑 这是如何工作的,它是否考虑所有分区(即所有RDD)进行排序,或者数据在单个RDD中进行排序 我的要求是像在任何编程语言(java中的Collections.sort())中排序一样,对数据进行全局排序 考虑以下代码:(xyz是经过一系列操作后的rdd) javapairrdsorted=xyz.transformToPair(rdd->rdd.sort
javapairrdsorted=xyz.transformToPair(rdd->rdd.sortByKey());
上述语句是否给出了全局排序的结果
如果否,那么如何对数据进行全局排序,即考虑所有分区中的所有数据
提前感谢。它是全局排序的(ordereddfunctions
):
按键对RDD进行排序,使每个分区包含一个已排序的元素范围。对生成的RDD调用collect或save将返回或输出一个有序的记录列表(在save情况下,它们将按键的顺序写入文件系统中的多个part-X文件)
它是全局排序的(ordereddfunctions
):
按键对RDD进行排序,使每个分区包含一个已排序的元素范围。对生成的RDD调用collect或save将返回或输出一个有序的记录列表(在save情况下,它们将按键的顺序写入文件系统中的多个part-X文件)
JavaPairRDD<Float,Object>sorted = xyz.transformToPair(rdd->rdd.sortByKey());