У меня есть таблица улья с 3 столбцами: id, event_time, payload
значение полезной нагрузки - это очень сложный документ json с десятками и десятками вложенных массивов и карт, который выглядит ниже. elem1..elemN может быть вложенными массивами или картами с другими вложенными элементами под ними.
{
"entry":[
{"resource": {
"eventType": "typeA",
"elem1": "value",
...
"elemN": "valueN"
}
}
],
"meta": {
"elem1": 123,
}
}
Я хотел бы преобразовать этот набор данных в фрейм данных, который будет выглядеть следующим образом, и в идеале я не хочу задавать схему заранее для этих вложенных ресурсов (они действительно очень сложны).
id, event_time, event_typeA, ... event_typeN
event_type приходит из entry.resource.eventType. Например, если моя полезная нагрузка выглядит следующим образом:
{
"entry":[
{"resource": {
"eventType": "typeA",
"elem1": "value",
...
"elemN": "valueN"
}
},
{"resource": {
"eventType": "typeA",
"elem1": "value",
...
"elemN": "valueN"
}
},
{"resource": {
"eventType": "typeB",
"elem1": "value",
...
"elemN": "valueN"
}
},
{"resource": {
"eventType": "typeC",
"elem1": "value",
...
"elemN": "valueN"
}
}
],
"meta": {
"elem1": 123,
}
}
Я хочу получить что-то подобное, когда все типы событий будут перенесены в одну строку в кадре данных. Может быть более одного event_type для данной полезной нагрузки и несколько экземпляров event_types в одной полезной нагрузке.
id event_time typeA typeB typeC
123 2011-01-01 01:20:00
[
{"resource": {
"eventType": "typeA",
"elem1": "value",
...
"elemN": "valueN"
}
},
{"resource": {
"eventType": "typeA",
"elem1": "value",
...
"elemN": "valueN"
}
]
{"resource": {
"eventType": "typeB",
"elem1": "value",
...
"elemN": "valueN"
}
{"resource": {
"eventType": "typeC",
"elem1": "value",
...
"elemN": "valueN"
}
}