当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PySpark RDD collectAsMap方法用法及代码示例


PySpark RDDcollectAsMap(~)方法收集 RDD 对中的所有元素驱动节点关联并将 RDD 转换为字典。

注意

A 对RDD是一个包含元组列表的 RDD。

参数

该方法不接受任何参数。

返回值

一个字典。

例子

考虑以下PySpark对 RDD:

rdd = sc.parallelize([("a",5),("b",2),("c",3)]) 
rdd.collect()



[('a', 5), ('b', 2), ('c', 3)]

在这里,我们使用 parallelize(~) 方法创建一对RDD。

将一对 RDD 转换为 PySpark 中的字典

要将 Pair RDD 转换为 PySpark 中的字典,请使用 collectAsMap() 方法:

rdd.collectAsMap()



{'a': 5, 'b': 2, 'c': 3}
警告

由于RDD中的底层数据全部发送到驱动节点,如果数据太大,可能会遇到OutOfMemoryError

如果出现重复键

当我们有重复的键时,后一个键值对将覆盖前一个键值对:

rdd = sc.parallelize([("a",5),("a",6),("b",2)]) 
rdd.collectAsMap()



{'a': 6, 'b': 2}

这里,元组 ("a",6) 已覆盖 ("a",5)

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark RDD | collectAsMap method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。