Как создать отдельные таблицы из значения столбца 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?

Если кто-то может поделиться ссылкой на это решение или что-то подобное, это будет полезно, спасибо

0 ответов

Другие вопросы по тегам