簡體   English   中英

在 RDD (Scala/Spark) 中對嵌套列表中的元素進行排序

[英]Sorting elements inside nested list in an RDD (Scala/Spark)

我正在嘗試對 RDD object 的每個嵌套列表中的元素進行排序,如下所示:

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])))

並希望 output 是這樣的(嵌套列表的內容按字母降序排序):

(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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM