gpt4 book ai didi

python - 如何在 PySpark groupByKey() 中对迭代器中的值求和

转载 作者:太空狗 更新时间:2023-10-30 01:54:06 26 4
gpt4 key购买 nike

我正在做我在 Spark (Python) 上的第一步,我正在努力使用 groupByKey() 中的迭代器。我无法对这些值求和:我的代码如下所示:

example = sc.parallelize([('x',1), ('x',1), ('y', 1), ('z', 1)])

example.groupByKey()
x [1,1]
y [1]
z [1]

如何在 Iterator 上求和?我尝试了类似下面的方法,但它不起作用

example.groupByKey().map(lambda (x,iterator) : (x,sum(iterator))
example.groupByKey().map(lambda (x,iterator) : (x,list(sum(iterator)))

最佳答案

您可以使用 sum 简单地 mapValues:

example.groupByKey().mapValues(sum)

尽管在这种特殊情况下 reduceByKey 效率更高:

example.reduceByKey(lambda x, y: x + y)

from operator import add

example.reduceByKey(add)

关于python - 如何在 PySpark groupByKey() 中对迭代器中的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31366307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com