gpt4 book ai didi

apache-spark - 在 pyspark 中分解 Maptype 列

转载 作者:行者123 更新时间:2023-12-02 03:20:16 24 4
gpt4 key购买 nike

我有这样一个数据框

data = [(("ID1", {'A': 1, 'B': 2}))]
df = spark.createDataFrame(data, ["ID", "Coll"])
df.show()

+---+----------------+
| ID| Coll|
+---+----------------+
|ID1|[A -> 1, B -> 2]|
+---+----------------+

df.printSchema()
root
|-- ID: string (nullable = true)
|-- Coll: map (nullable = true)
| |-- key: string
| |-- value: long (valueContainsNull = true)

我想展开“Coll”列,这样

+---+-----------+
| ID| Key| Value|
+---+-----------+
|ID1| A| 1|
|ID1| B| 2|
+---+-----------+

我正在尝试在 pyspark 中执行此操作

如果我只使用一列我就成功了,但是我也想要 ID 列

df.select(explode("Coll").alias("x", "y")).show()

+---+---+
| x| y|
+---+---+
| A| 1|
| B| 2|
+---+---+

最佳答案

只需将 ID 列添加到 select 就可以了:

df.select("id", explode("Coll").alias("x", "y"))

关于apache-spark - 在 pyspark 中分解 Maptype 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55040340/

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