Pyspark - reducer任务迭代值

时间:2015-05-17 08:36:45

标签: python mapreduce apache-spark pyspark reducers

我是第一次与pyspark合作。

我希望我的reducer任务迭代使用mapper中的键返回的值,就像在java中一样。

我看到只有累加器选项而不是迭代 - 就像添加函数add(data1,data2)=> data1是累加器。

我希望在输入中输入一个包含属于该键的值的列表。

Example

这就是我想要做的。有人知道是否有选择吗?

1 个答案:

答案 0 :(得分:0)

请使用reduceByKey功能。在python中,它应该看起来像

from operator import add
rdd = sc.textFile(....)
res = rdd.map(...).reduceByKey(add)

注意:Spark和MR具有基本差异,因此建议不要强制适合彼此。 Spark也很好地支持对函数,如果你想要更高级的东西,请寻找aggregateByKey。

顺便说一下,在spark文档中深入讨论了字数统计问题(特别是使用flatmap),你可能想看看