2016-04-04 50 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)