2017-06-27 68 views
-1

我是Spark和Scala的初學者。這是RDD我終於有後第3天:如何對RDD進行排序?

((null,18),1) 

((null,17),1) 

((null,16),1) 

((AK,14),2) 

((Lo,6),1) 

((Re,7),1) 

((4x,10),1) 

((null,12),4) 

((Re,13),1) 

((Mu,19),1) 

((Lo,19),2) 

((null,8),1) 

((null,20),3) 

我應該使一類的所有值按升序排列組合在一起這RDD排序。例如:

((null,8),1) 

((null,12),4) 

((null,16),1) 

((null,17),1) 

((null,18),1) 

((null,20),3) 

((Lo,6),1) 

((Lo,19),2) 

我不知道在哪裏看或如何開始。

+1

既然你已經在空你的Tuple2鍵,嘗試排序會給你nullpointerexception。 –

回答

0

RDD可以使用sortBy方法進行排序,例如:

val rdd: RDD[((String, Int), Int)] = ??? // your RDD 
rdd.sortBy(_._1) // sort by the first item in the pair 

既然你與對工作,你也可以使用sortByKey方法:

rdd.sortByKey()