【发布时间】:2021-07-13 02:36:04
【问题描述】:
我正在尝试对 RDD 对象的每个嵌套列表中的元素进行排序,如下所示:
org.apache.spark.rdd.RDD[(Long, List[List[String]])]
未排序的示例:
(342, List(List([banana], [apple]), List([orange], [lemon])))
(342, List(List([coconut], [carrot]), List([watermelon], [kiwi])))
(794, List(List([strawberry], [carrot]), List([lemon], [orange])))
并希望输出是这样的(嵌套列表的内容按字母降序排序):
(342, List(List([apple], [banana]), List([lemon], [orange])))
(342, List(List([carrot], [coconut]), List([kiwi], [watermelon])))
(794, List(List([orange], [strawberry]), List([carrot], [lemon])))
【问题讨论】:
-
你试过什么?
-
最初的想法是“爆炸”/反转类似于 groupByKey 的结构,所以我的 rdd 中有 6 个元素并且没有嵌套列表(而不是 3 个嵌套)看起来有点像这样(342 ,列表([香蕉],[苹果]))。然后我可以对元组中的每个列表进行排序。发现另一个帖子尝试了类似的方法,但无法使其正常工作 (stackoverflow.com/questions/56742432/…)
-
解决了@sinanspd,并添加了问题的解决方案。无论如何,谢谢。
-
你能发布答案吗
-
@Rajasekhar 现在发布了一个答案。抱歉没有看到您的评论。
标签: scala apache-spark sorting rdd