pyspark;如何有效地按值减少

2024-05-16 14:00:12 发布

您现在位置:Python中文网/ 问答频道 /正文

让我们考虑一对RDD:

x = sc.parallelize([("a", 1), ("b", 1), ("a", 4), ("c", 7)])

是否有更有效的替代方案:

x.map(lambda x: x[1]).reduce(lambda x, y: x+y)

为了找到所有值的和


Tags: lambdamapreduce方案scrddparallelize
2条回答

由于x是一个PairRDD方法,因此可以使用values方法而不是手动提取值:

x.values().sum()

RDD API中有一个sum方法

x.map(lambda x: x[1]).sum()

sum(self) source code

Add up the elements in this RDD.

sc.parallelize([1.0, 2.0, 3.0]).sum()
6.0

相关问题 更多 >