Я получаю JSON. Я не знаю, на каких клавишах появится проблема. Когда spark видит разные типы для одного и того же ключа, он помещает это в строку, и мне нужно иметь данные в виде массива. Я использую spark 2.4 с json lib, поэтому я читаю jsons как
spark.read.json("jsonfile")
Я сглаживаю свою схему json в такой формат, где col имя:
B__C
B__somedifferentColname
Пример JSON выглядит следующим образом
{
"A":[
{
"B":{
"C":"Hello There"
}
},
{
"B":[
{
"C":"Hello"
},
{
"C":"Hi"
}
]
}
]
}
и я хотел бы, чтобы этот json был в таком формате:
{
"A":[
{
"B":[{
"C":"Hello There"
}]
},
{
"B":[
{
"C":"Hello"
},
{
"C":"Hi"
}
]
}
]
}
Чтобы вы могли видеть, что я изменил, к первому объекту добавлены квадратные скобки.
Но когда у меня есть одно значение в качестве типа структуры и одно значение в виде списка, он помещает это в строку, так что значение столбца будет выглядеть так:
"[{"C":"Hello"},{"C":"Hi"}]"
и это должно выглядеть так
B__C
Привет
Привет
Привет
Кто-нибудь может мне помочь, какой трюк я могу использовать для решения этой проблемы?
Команда, которая доставляет нам jsons, сказала, что это невозможно сделать с их стороны, поэтому мы должны решить это на нашей стороне.