【发布时间】:2021-11-29 21:06:33
【问题描述】:
我试图将 RDD 的所有元素相加,然后将其除以元素的数量。我能够解决它,但使用不同的行。但是我想只用一行使用 RDD 操作来完成。
RDD 例如:
rdd_example = [(eliana,1),(peter,2),(andrew,3),(paul,4),(jhon,5)]
第一步是使用带有 lambda 的方法映射来仅提取数字:
numbers = rdd_example.map(lambda x: x[1])
输出是:
numbers = [1,2,3,4,5]
然后是所有元素的总和,使用方法reduce:
from operator import add
sum = numbers.reduce(add)
然后使用 count 方法创建另一个变量来计算元素:
number_elem = rdd_example.count()
然后进行除法得到结果:
result = sum/number_elem
我想只用一行和一个变量来完成所有这些工作。
【问题讨论】:
标签: python apache-spark pyspark rdd