1 回答

TA貢獻2021條經驗 獲得超8個贊
有多種方法可以做到這一點。
如果您的用例只是將 JSON 存儲為字符串,只需將整個 JSON 作為 blob 序列化為單個列創建一個表:
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
)
在根據查詢和存儲用例決定主鍵/分區鍵時要小心。
添加回答
舉報