2016-04-04 87 views
-1

所以我有一個RDD如下星火:按多個值的RDD在一個元組/列

RDD[(String, Int, String)] 

作爲一個例子

('b', 1, 'a') 
    ('a', 1, 'b') 
    ('a', 0, 'b') 
    ('a', 0, 'a') 

最終的結果應該是這個樣子

('a', 0, 'a') 
('a', 0, 'b') 
('a', 1, 'b') 
('b', 1, 'a') 

我該怎麼做這樣的事情?

回答

2

試試這個:

rdd.sortBy(r => r) 

如果你想切換周圍的排序順序,你可以這樣做:

rdd.sortBy(r => (r._3, r._1, r._2)) 

對於相反的順序:

rdd.sortBy(r => r, false)