对于之前提出的类似问题,我深表歉意。这个问题在python中。但是我找不到正确的解决方案,我有以下Dataframedf1
SomeJson
=================
[{
"Number": "1234",
"Color": "blue",
"size": "Medium"
}, {
"Number": "2222",
"Color": "red",
"size": "Small"
}
]
我正试图把这个Dataframe的内容写成json。
df0.coalesce(300).write.mode('append').json(<json_Path>)
它会引入第一个键,例如:
{
"SomeJson": [{
"Number": "1234",
"Color": "blue",
"size": "Medium"
}, {
"Number": "2222",
"Color": "red",
"size": "Small"
}
]
}
但是,我不想在输出文件中包含{“somejson”:}。我试着写在下面。但是,我在编写自定义python函数以消除第一个头时迷失了方向。非常感谢您的帮助
df0.rdd.map(<custom_function>).saveAsTextFile(<json_Path>)
1条答案
按热度按时间fae0ux8s1#
基于这个答案:将pysparkDataframe转换为python字典列表
你可以这样做:
它产生如下输出:
编辑:
在读取json时,spark不保持顺序。但是我们可以改变收到的词典的顺序。因为python3中的dictionary保持插入顺序,所以我们只需要考虑插入顺序就可以创建一个新的dictionary。剩下的只是字符串操作。我会这样做的。
它产生以下输出。