Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark ApacheSpark中的Sortbykey_Apache Spark_Rdd - Fatal编程技术网

Apache spark ApacheSpark中的Sortbykey

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

我正在与ApacheSpark合作一个项目。我非常了解spark中的转换和操作,但是突然之间我对spark中的sortByKey()函数感到困惑

这是如何工作的,它是否考虑所有分区(即所有RDD)进行排序,或者数据在单个RDD中进行排序

我的要求是像在任何编程语言(java中的Collections.sort())中排序一样,对数据进行全局排序

考虑以下代码:(xyz是经过一系列操作后的rdd)

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());