不管怎样,是否只有一个元素可以处理RDD(对于我正在做的事情,有时会发生这种情况)?在这种情况下,reduce停止工作,因为操作需要2个输入。我正在使用键值对,例如:
(key1, 10), (key2, 20),
我想把它们的值加起来,结果应该是:
30
但是有些情况下rdd只包含一个键值对,因此reduce在这里不起作用,例如:
(key1, 10)
这将一无所获。
apeeds0o1#
如果你做了一个 .values() 在做之前 reduce ,即使rdd中只有一个元素,它也应该工作:
.values()
reduce
from operator import add rdd = sc.parallelize([('key1', 10),]) rdd.values().reduce(add) # 10
1条答案
按热度按时间apeeds0o1#
如果你做了一个
.values()
在做之前reduce
,即使rdd中只有一个元素,它也应该工作: