pyspark-reduce在rdd上只使用一个元素

rqmkfv5c  于 2021-07-14  发布在  Spark
关注(0)|答案(1)|浏览(424)

不管怎样,是否只有一个元素可以处理RDD(对于我正在做的事情,有时会发生这种情况)?在这种情况下,reduce停止工作,因为操作需要2个输入。
我正在使用键值对,例如:

(key1, 10),
(key2, 20),

我想把它们的值加起来,结果应该是:

30

但是有些情况下rdd只包含一个键值对,因此reduce在这里不起作用,例如:

(key1, 10)

这将一无所获。

apeeds0o

apeeds0o1#

如果你做了一个 .values() 在做之前 reduce ,即使rdd中只有一个元素,它也应该工作:

from operator import add

rdd = sc.parallelize([('key1', 10),])

rdd.values().reduce(add)

# 10

相关问题