我是一个火花初学者。我试图收集呈现特定列的所有键,其中不同的行具有不同的键值对。
|-- A: map (nullable = true)
| |-- key: string
| |-- value: string (valueContainsNull = true)
A ID
name: 'Peter', age:'25'. 5
name: 'John', country:'USA', pet:'dog' 7
我需要将其转换为数据框,并将所有键作为新列。我尝试了爆炸列,这将创建新的"键"和"价值"列,但数据框是几GB大,火花作业失败。
dataframe.select(explode("A")).select("key").show()
预期结果是:
name age ID country pet
Peter 25 5 null null
John null 7 USA dog