我想获取整数列表的RDD并将其减少到一个列表。例如......
[1, 2, 3, 4]
[2, 3, 4, 5]
到
[3, 5, 7, 9]
我可以使用zip函数在python中执行此操作,但不知道如何在spark中复制它,除了对对象进行收集,但我想将数据保存在rdd中。
答案 0 :(得分:1)
如果rdd
中的所有元素长度相同,则可以reduce
使用zip
:
rdd = sc.parallelize([[1,2,3,4],[2,3,4,5]])
rdd.reduce(lambda x, y: [i+j for i, j in zip(x, y)])
# [3, 5, 7, 9]