我对apache spark感兴趣。
我尝试按scala中的任何列对spark rdd的多个数组进行升序排序。
(即。 RDD[Array[Int] -> Array(Array(1,2,3), Array(2,3,4), Array(1,2,1))
如果我按第一列排序,那么结果将是 Array(Array(1,2,3), Array(1,2,1), Array(2,3,4)).
或者,如果我按第三列排序,那么结果将是 Array(Array(1,2,3), Array(1,2,3), Array(2,3,4)).
)然后,我想得到rdd[array[int]]返回类型值。有没有解决的方法,是否使用 map()
或者 filter()
功能?
2条答案
按热度按时间7ajki6be1#
结果
2 3 4
1 2 3
1 2 1
wmtdaxz32#
使用
RDD.sortBy
:也可以使用模式匹配编写排序函数:
还要注意
ascending
参数的默认值为true
,这样就可以放下它并得到相同的结果: