我正在使用Apache spark开发一个项目。我非常清楚spark中的转换和动作,但突然之间我对spark中的sortByKey()函数感到困惑。
它是如何工作的,它是否认为用于排序或数据的所有分区(即所有RDD)都在单个RDD中排序?
我的要求是将数据全局排序,就像我们使用任何编程语言排序一样(java中的Collections.sort())。
考虑以下代码:(经过一系列操作后,xyz为rdd)
\r\n
上述语句是否给出了全局排序的结果?
如果不是,那么如何全局排序数据,即考虑所有分区中的所有数据?
提前致谢。
答案 0 :(得分:0)
全局排序(OrderedRDDFunctions
):
按键对RDD进行排序,以便每个分区都包含已排序的元素范围。调用收集或保存生成的RDD将返回或输出有序的记录列表(在保存的情况下,它们将按键的顺序写入文件系统中的多个part-X文件)。