我正在收集一个RDD,需要使用以下代码在Spark Java API中对其进行排序:
request.form['postPass']
集合的类型是:scala.collection.convert.Wrappers $ SeqWrapper
我在此代码中使用手动转换,但我想知道是否有更好的方法。
答案 0 :(得分:1)
我相信您正在寻找sortBy
方法。
您的代码可以转换为:
List<Long> javaAlarmedTimeStamps = sensorDataDoubleDF
.toJavaRDD()
.filter(filterAlarmNode)
.filter(filterAlarmInstances)
.map(row->row.getLong(2))
.sortBy(x->x,true,1) //you could also replace the previous `map` with sortBy(row->row.getLong(2),true,1)
.collect();
顺便说一下,在您的代码中,您无法直接排序alarmedTimeStamps
的原因是因为它是immutable。但是,您可以比以前更轻松地初始化名为alarmedTimeStamps
的{{1}}副本:
javaAlarmedTimeStamps