gpt4 book ai didi

scala - 删除 scala 中 int 对向量中的重复映射

转载 作者:行者123 更新时间:2023-12-01 13:48:12 24 4
gpt4 key购买 nike

我有一个形式为 RDD[((Int, Int), Vector[(Long, Long)])] 的 RDD。在这里我需要对 Vector 部分进行操作并删除那里的所有重复映射。例如在 Vector 部分,如果有两对 (3,2) 和 (3,4) 那么只有 (3,2) 应该被保留(任何一个)。

一个完整的例子

((1,1),Vector((3,3), (1,1), (1,2), (2,1), (2,2), (4,4)))
((5,2),Vector((4,3), (4,2), (2,1)))
((5,2),Vector((4,3), (1,2)))

应该变成

((1,1),Vector((3,3), (1,1), ,(2,1), (4,4)))
((5,2),Vector((4,3), (2,1)))
((5,2),Vector((4,3), (1,2)))

我从这样的事情开始,但卡住了。

curRDD.map{ case (left, right) => 
for((ll,li) <- right) yield {

}
}

我如何实现这一目标?

最佳答案

这里是一个使用一系列转换而不是 for-comprehension 的实现。对的顺序可以不同。这会成为问题吗?

curRDD.map{ x => (x._1, x._2.groupBy(_._1).mapValues(_.head).values.toVector ) }

关于scala - 删除 scala 中 int 对向量中的重复映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34171530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com