Spark:按元组/列中的多个值对 RDD 进行排序
Spark: Sort an RDD by multiple values in a tuple / columns
所以我有一个如下的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')
我该如何做这样的事情?
试试这个:
rdd.sortBy(r => r)
如果您想调换排序顺序,可以这样做:
rdd.sortBy(r => (r._3, r._1, r._2))
倒序:
rdd.sortBy(r => r, false)
所以我有一个如下的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')
我该如何做这样的事情?
试试这个:
rdd.sortBy(r => r)
如果您想调换排序顺序,可以这样做:
rdd.sortBy(r => (r._3, r._1, r._2))
倒序:
rdd.sortBy(r => r, false)