Как создать отдельные таблицы из значения столбца JSON в postgreSQL
Ниже приведен формат таблицы:
CREATE TABLE records
(
id text,
record json
)
Для каждого record
столбец строки, значение JSON будет: (это просто снимок всей структуры)
{
"Trial": {
"primary_id": "xxxxx",
"key1": "aaaaaaaa (BAL-8557) aaaaaaaaaaaaaaaaaa",
"key2": "aaaaaaaaaaaaa , aaaaaaaaaaaaaaaaaaa",
"key3": "Yes",
"key4": "No",
"key5": {
"key5k": [{
"@type": "ABC",
"$": "ABC121 "
},
{
"@type": "ABC",
"$": "ABC12133 "
}
]
},
"Indications": {
"Indication": [{
"indication_id": "1308",
"$": "aaaaaa"
},
{
"indicationid": "1309",
"$": "bbbbbb"
}
]
}
}
}
в настоящее время в таблице около 300 тысяч строк
Я хочу разработать утилиту, которая будет читать все строки, находить ключи, которые вложены в JSON.
Основываясь на вложенной структуре JSON, я хочу создать отдельную таблицу
Например, сверху таблица JSON, таблица индикации будет
----------------------------------------
primary_id | indication_id | value
----------------------------------------
xxxxx | 1308 | aaaaaa
----------------------------------------
xxxxx | 1309 | bbbbbb
Как я могу разработать эту утилиту?
Должно ли это быть обработано функциями PostgreSQL или с помощью Python + Spark?
Если кто-то может поделиться ссылкой на это решение или что-то подобное, это будет полезно, спасибо