合并值键:具有公共键的值RDD

时间:2019-05-29 10:41:51

标签: python scala apache-spark rdd

我是使用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(),但仍无法获取解决方案。任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题: rdd.groupByKey().mapValues(list).collect()