我正在尝试创建一个用于完全“结构化” pyspark数据帧的x列中的JSON字符串的架构。在遇到此问题之前,我已经成功转换了json字符串:
json_string = "{
\"toyota\": [
[
{
\"corolla\": {
\"white\": -2,
\"blue\": -42,
\"black\": 0
}
},
{
\"corolla\": {
\"white\": -33,
\"blue\": -63,
\"black\": 2
}
}
],
[
{
\"corolla\": {
\"white\": -2,
\"blue\": -42,
\"black\": 0
}
},
{
\"corolla\": {
\"white\": -33,
\"blue\": -63,
\"black\": 2
}
}
]
]
}”
我尝试了这种模式,但是没有用。
schema = StructType([StructField("toyota",ArrayType(ArrayType(StructType([StructField("corolla", StructType([StructField("white",IntegerType(),"blue",IntegerType(),"black",IntegerType())]))]))))])
我的pyspark用户定义函数的代码段是这样的:
structify_udf = udf(lambda json_string: json.loads(json_string), schema)
请帮助我解决模式。谢谢