當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。