Есть несколько способов сделать это.
Если ваш вариант использования просто для сохранения JSON в виде строки, просто сериализуйте весь JSON в виде большого двоичного объекта в один столбец
Создать таблицу как:
CREATE TABLE IF NOT EXISTS my_table(
ID <text/bigint>
DATA text,
CREATEDATE timestamp
)
Если вы хотите представить все вложенные атрибуты в виде отдельных столбцов, вы начнете снизу вверх.
сначала создайте определяемые пользователем типы для каждого вложенного поля.
Что касается вашего JSON, пример будет:
CREATE TYPE metric (
name text,
env text,
instance text,
job text
);
CREATE TYPE value(
field1 text,
field2 text
);
После создания базовых UDT начните с создания составных UDT со ссылками на базовые UDT:
CREATE TYPE result(
metric metric,
value value,
);
CREATE TYPE data(
resultType text,
result set<result>,
);
И, наконец, загрузите ваш стол следующим образом:
CREATE TABLE IF NOT EXISTS my_table (
ID <text/bigint>
status data
)
Будьте внимательны при выборе первичных ключей / ключей разделов на основе ваших запросов и хранилища.
usecases.