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)