【发布时间】:2017-03-21 11:08:42
【问题描述】:
我试图用 3 个值减少一个 RDD,所以,首先,我用以下格式映射 rdd
a = mytable.rdd.map(lambda w: (w.id,(w.v1,w.v2,w.v3)))
然后在下一步我用下面的代码减少它
b = a.reduceByKey(lambda a,b,c: (a[0] +','+ a[1],b[0] +','+ b[1],c[0] +','+ c[1]))
但是,我收到一个错误: TypeError: () 正好需要 3 个参数(给定 2 个)
我的目标是添加该 rdd 的所有值,例如,如果我的 rdd 具有这些值:
[(id1, ('a','b','c')),(id1', ('e','f','g'))]
reduce 之后,我希望结果按以下顺序排列:
[(id1, ('a,d','b,e','c,f'))]
谢谢
【问题讨论】:
标签: python apache-spark pyspark reduce