订购RDD Elements Apache Spark的最佳方式

时间:2016-08-01 15:57:33

标签: scala apache-spark rdd bigdata

我需要找到最有效的方法来全局排序大尺寸的RDD ,尽可能少地改组。我需要它来避免出现性能问题,例如outOfMemory例外等等。

由于

2 个答案:

答案 0 :(得分:2)

您需要随机播放以获取分类的数据量RDD是固定的,因此在某种意义上,每个最小的解决方案已经尽可能少地进行了随机播放。唯一可以改进的是将排序机制推入随机播放,但这部分已由col1 intRDD.sortByOrderedRDDFunctions.sortByKey处理。

因此,请选择适用于您的数据的方法。例如:

JavaPairRDD.sortByKey

答案 1 :(得分:2)

您看到的内存不足异常是因为您的分区太少而且(很可能)您的数据存在偏差,因此排序会使某些分区变得非常大。 无论如何,spark中的所有优化工作都会转向数据集(和数据帧),以便更好地优化RDD到DataFrames并使用那里的构造进行排序