2
我想从RDD获得最大值使用RDD.max在斯卡拉。我的RDD包含一堆带有字段的VO 持续时间(长类型)。我试着用下面的代码,但它仅与诠释,而不是工作很好地龙(按文件)从RDD获取最大记录
val vo1 = new MyVO()
vo1.setDuration(1234L)
val vo2 = new MyVO()
vo2.setDuration(123L)
val a = Array(vo1, vo2)
val sc = prepareConfig()
val rdd = sc.parallelize(a)
val maxKey2 = rdd.max()(new Ordering[MyVO]() {
override def compare(x: MyVO,
y: MyVO): Long =
Ordering[Long].compare(x.duration, y.duration)
})
println(maxKey2.duration)
我指的这个帖子 How to find max value in pair RDD?。 但我不知道如何处理龙在我的情况。任何帮助,高度赞赏
感谢您的答复和它的工作。我在这里有一个基本的查询。建议在RDD中使用VO?我将在RDD中拥有数百万条记录,每个VO代表我的工作转换点之后的一行。这是正确的方式? – BDR
是的,可以使用案例类。 – Beryllium
@Berylliums谢谢你 – BDR