火花;如何有效地减少价值
pyspark ; how to reduce by values efficiently
让我们考虑 RDD 对:
x = sc.parallelize([("a", 1), ("b", 1), ("a", 4), ("c", 7)])
是否有更有效的替代方法:
x.map(lambda x: x[1]).reduce(lambda x, y: x+y)
为了找到所有值的总和
中有一个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
由于 x
是 PairRDD
您可以使用 values
方法而不是手动提取值:
x.values().sum()
让我们考虑 RDD 对:
x = sc.parallelize([("a", 1), ("b", 1), ("a", 4), ("c", 7)])
是否有更有效的替代方法:
x.map(lambda x: x[1]).reduce(lambda x, y: x+y)
为了找到所有值的总和
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
由于 x
是 PairRDD
您可以使用 values
方法而不是手动提取值:
x.values().sum()