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
)
在根据查询和存储用例决定主键/分区键时要小心。
添加回答
举报