[已解决-请进一步查看]我正在尝试对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])))
解决方案:通过执行以下操作来解决它(反转组结构并对非嵌套列表排序(请注意,rdd结构已更改,但在本例中无关紧要)。
data.flatMap(x => x._2.map(i => (x._1, i))).mapValues(x => x.sorted)
暂无答案!
目前还没有任何答案,快来回答吧!