Преобразование красного смещения: json ключ / значение для отношения - PullRequest
0 голосов
/ 11 февраля 2020

в таблице Redshift У меня есть столбец tag, в котором varchar хранит json с типичными парами ключ / значение. Например, для записи с id = 1 значение tag выглядит следующим образом: {"env":"test","app-name":"ap123","product-type":"web-app"}.

Я хотел бы преобразовать ключ / значения в типичную реляционную таблицу, как показано ниже:

+---+-------------+-------+
|id ||key         |value  |
+---+-------------+-------+
|1  |env          |test   |
|1  |app-name     |ap123  |
|1  |product-type |web-app|
|2  |env          |dev    |
|...|...          |...    |
+---+-------------+-------+

Я провел быстрое исследование, я не нашел никакого решения. Я пытался использовать функции Redshift json, но без достижения желаемого результата (https://docs.aws.amazon.com/redshift/latest/dg/json-functions.html).

Любые идеи весьма полезны.

1 Ответ

0 голосов
/ 14 февраля 2020

Идея в этой ситуации состояла в том, чтобы изменить json на json_array, добавив заключающие скобки ('[' и ']') к json и заменив ',' на '}, {', чтобы изменить отдельные элементы json_array. После этого можно получить доступ к элементу json_array с помощью функции json_extract_array_element_text.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...