我有两个RDD有公共变量,格式如下:
x = sc.parallelize([("A", 1), ("B", 4),("A",2)])
y = sc.parallelize([("A", -1),("B", 5)])
然后我想用公共变量对它们进行分组"A"
和"B"
我已尝试使用以下命令:
z = [(x, tuple(map(list, y))) for x, y in sorted(list(x.cogroup(y).collect()))]
print(z)
我得到的是
[('A', ([1, 2], [-1])), ('B', ([4], [5]))]
然而,我想要的是
[('A', ([1], [-1])), ('B', ([4], [5])),('A', ([2], [-1]))]
如何更改代码以获得上述输出?谢谢你
您可以使用直线连接来执行此操作:
如果希望
tuple
的元素为list
,请添加对mapValues
的调用:相关问题 更多 >
编程相关推荐