【发布时间】:2016-02-19 21:07:21
【问题描述】:
我有 scoreTriplets 是 RDD[ARRAY[String]] 我按以下方式排序。
var ScoreTripletsArray = scoreTriplets.collect()
if (ScoreTripletsArray.size > 0) {
/*Sort the ScoreTripletsArray descending by score field*/
scala.util.Sorting.stableSort(ScoreTripletsArray, (e1: Array[String], e2: Array[String]) => e1(3).toInt > e2(3).toInt)
}
但是如果缺少元素,collect() 会很重。
所以我需要在不使用 collect() 的情况下按 score 对 RDD 进行排序。
scoreTriples 为 RDD[ARRAY[String]] RDD 的每一行都会存储以下变量的数组。
EdgeId sourceID destID score sourceNAme destNAme 距离
请给我任何参考或提示。
【问题讨论】:
标签: scala sorting apache-spark rdd