(PySpark)reduceByKey之后的嵌套列表

(PySpark)reduceByKey之后的嵌套列表,第1张

(PySpark)reduceByKey之后的嵌套列表

这里的问题是您的reduce函数。对于每个键,

reduceByKey
请使用一对值调用reduce函数,并期望它产生相同类型的组合值。

例如,说我想执行字计数 *** 作。首先,我可以将每个单词映射为一

(word, 1)
对,然后可以
reduceByKey(lambda x, y: x +y)
对每个单词的计数求和。最后,我剩下了
(word, count)
成对的RDD 。

这是来自PySpark
API文档
示例

>>> from operator import add>>> rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])>>> sorted(rdd.reduceByKey(add).collect())[('a', 2), ('b', 1)]

要了解为什么您的示例不起作用,您可以想象应用了reduce函数,如下所示:

reduce(reduce(reduce(firstValue, secondValue), thirdValue), fourthValue) ...

根据您的reduce函数,听起来您可能正在尝试实现内置

groupByKey
*** 作,该 *** 作将每个键与其值列表进行分组。

此外,看一看

combineByKey
,的推广
reduceByKey()
,使精简函数的输入和输出类型不同(
reduceByKey
是实现在以下方面
combineByKey



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存