我正在尝试使用PySpark处理json文件,这些文件包含一个带有动态键的struct列。
struct列的模式如下所示:
{
"UUID_KEY": {
"time": STRING
"amount": INTEGER
}
}
数据如下所示:
| 身份证|json柱|
| --------------|--------------|
| 1|“{1:{金额:1,时间:2},2:{金额:10,时间:5}}”|
| 二|“{3:{金额:1,时间:2},4:{金额:10,时间:5}”|
目前,我将struct列作为string,因为通过指定/推断模式来加载JSON并不**工作,因为第一层的键是随机生成的,而且数据太多了。第二层总是相同的,它包含amount
和time
。
有没有办法在不知道第一层的键的情况下,将这个JSON字符串扁平化为amount
和time
列?
1条答案
按热度按时间xmjla07d1#
这将工作:
输入:
输出: