如何在Pyspark中的Dictionary中转换Dataframe Column1:Column2(key:value)?

jar*_*fly 1 python dictionary dataframe apache-spark pyspark

我有一个具有不同Atr1值的Dataframe,并且有一些其他属性,我想从它生成一个字典,考虑字典的关键字Atr1的每个值(唯一值,如前所述),以及dict的值是Atr2的值.

这是Dataframe:

+------+------+------+------+
| Atr1 | Atr2 | Atr3 | Atr4 |
+------+------+------+------+
|  'C' |  'B' |  21  |  'H' |
+------+------+------+------+
|  'D' |  'C' |  21  |  'J' |
+------+------+------+------+
|  'E' |  'B' |  21  |  'K' |
+------+------+------+------+
|  'A' |  'D' |  24  |  'I' |
+------+------+------+------+
Run Code Online (Sandbox Code Playgroud)

我想得到一个这样的字典:

Dict -> {'C': 'B', 'D': 'C', 'E': 'B', 'A': 'D'}
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

mto*_*oto 8

你可以使用一个简单的collectAsMap():

df.select("Atr1", "Atr2").rdd.collectAsMap()
Run Code Online (Sandbox Code Playgroud)