Разбор вложенного json с типом Array и object для одного и того же файла в Pyspark? - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь проанализировать файл JSON, который имеет ArrayType и ObjecType для одного и того же тега (в зависимости от количества дочерних записей)

{
    main:
    {
        "a":1,
        "b":[{ "name"="Joe",         # note that it [{}]**
        "Age"="21"},

        {"name"="John",
        "Age"="21"}    ]
    },
    {
    "a":2,
    "b":{ "name"="Mary",            # note that it {}**
        "Age"="21"}
    }
}

Я пытался применить схему Struct для тега "b", но это только подбирает второй элемент, а не первый.Конечная цель - преобразовать его в фрейм данных

schema = StructType([
    StructField("name", StringType(), True)
    ,StructField("age", StringType(), True)
])

jsonsf=df.select(col('main.a'),explode(col('main.b')).alias("exp_col")
jsonsf=df.select(col('main.a'),from_json(col('exp_col'),schema))

a|name|Age
1|Joe|21
1|John|21
2|MAry|21
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...