gpt4 book ai didi

python - collectAsMap() 函数如何用于 Spark API

转载 作者:太空宇宙 更新时间:2023-11-04 08:48:30 25 4
gpt4 key购买 nike

我想了解当我们在 spark 中运行 collectAsMap() 函数时会发生什么。根据 Pyspark 文档,它说,

collectAsMap(self) Return the key-value pairs in this RDD to the master as a dictionary.

对于核心 Spark ,它说,

def collectAsMap(): Map[K, V] Return the key-value pairs in this RDD to the master as a Map.

当我尝试在 pyspark 中为列表运行示例代码时,我得到了这个结果: pyspark result

对于 scala,我得到了这个结果: scala result

我有点困惑为什么它不返回列表中的所有元素。有人可以帮助我了解在这种情况下发生了什么,以及为什么我得到选择性结果。

谢谢。

最佳答案

collectAsMap 的语义在 Scala 和 Python API 之间是相同的,所以我将查看第一个 WLOG。 PairRDDFunctions.collectAsMap 的文档明确指出:

Warning: this doesn't return a multimap (so if you have multiple values to the same key, only one value per key is preserved in the map returned)

特别是,当前的实现按顺序将键值对插入到结果映射中,因此在您的两个示例中,只有最后两对存在。

如果您改用 collect,它将返回 Array[(Int,Int)] 而不会丢失任何对。

关于python - collectAsMap() 函数如何用于 Spark API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com