我是使用python火花的新手,如果问题听起来很简单,请原谅。如果我有RDD:
[(((1, 0), 0.0), (2, 0)),
(((1, 0), 0.0), (3, 0)),
(((2, 0), -0.0), (1, 0)),
(((2, 0), -0.0), (3, 0)),
(((3, 0), -0.0), (1, 0)),
(((3, 0), -0.0), (2, 0))]
我想合并具有公共密钥的值。所以基本上我的输出应该是-
[(((1, 0), 0.0), [(2, 0),(3,0)])
(((2, 0), -0.0), [(1, 0),(3,0)])
(((3, 0), -0.0), [(1, 0),(2,0)])]
我尝试使用groupByKey()
,但仍无法获取解决方案。任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
这应该可以解决问题:
rdd.groupByKey().mapValues(list).collect()