Pyspark从RDD中提取四个元组

时间:2016-08-16 05:35:30

标签: python apache-spark pyspark

我有一个包含五个元组的rdd,如下所示

return [word_val+'&'+f_val+'&'+N_val+'&'+n_val+'&'+str(1)]

我想将这些值映射到计算结果,我希望映射的工作方式如下:

reducer_3 = add_m.map(lambda word: (word[0],word[1],word[2],word[3],1)).reduceByKey(lambda word[0],1: word[0]+1)

reducer_3应返回包含以下内容的rdd:

word[0] & summation_of_1's & word[1] & word[2] & word[3]

1 个答案:

答案 0 :(得分:0)

您需要在reduceByKey之前映射到一对元组,例如:

reducer_3 = add_m.map(lambda word: ((word[0],word[1],word[2],word[3]),1)).reduceByKey(lambda x,y: x+y)

这将返回一组4元组及其计数。您展示的原始代码似乎缺少了地图步骤中4元组周围的额外数据。 你的问题并没有完全清楚你想要实现的目标,但希望上面的例子能够帮助......