制作嵌套数组架构以将json字符串转换为pyspark中的结构

时间:2019-03-14 08:52:03

标签: python pyspark schema user-defined-functions pyspark-sql

我正在尝试创建一个用于完全“结构化” 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)

请帮助我解决模式。谢谢

0 个答案:

没有答案