Spark:按元组/列中的多个值对RDD进行排序

4

我有一个如下的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')

我该怎么做到像这样呢?
1个回答

8

试试这个:

rdd.sortBy(r => r)

如果您想改变排序顺序,可以这样做:
rdd.sortBy(r => (r._3, r._1, r._2))

逆序排列:

rdd.sortBy(r => r, false)

1
按1升序排列,按2降序排列怎么样? - Volkan Yurtseven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接