文档中心>腾讯云数据仓库 TCHouse-C>实践教程>腾讯云数据仓库 TCHouse-C 半结构化数据处理加速方案使用指引

腾讯云数据仓库 TCHouse-C 半结构化数据处理加速方案使用指引

最近更新时间:2024-08-23 16:54:43

我的收藏

功能介绍

腾讯云数据仓库 TCHouse-C Schema-Less 方案专为半结构化数据处理设计,具有很好的灵活性和便利性,同时保证了查询性能与数据的一致性。
注意:
1. 此功能为腾讯云数据仓库 TCHouse-C 新功能,如有需要,请联系在线客服咨询使用。
2. 当前仅支持 JSON 格式的半结构化数据。

操作步骤

业务接入支持 Schema-Less 的腾讯云数据仓库 TCHouse-C 集群时,只需要简单步骤:
创建表时需要设置参数以标识该表支持 Schema-Less 功能,该参数为 enable_dynamic_columns=1;
创建表时只需要指定分区键,主键以及排序键引用的字段名称以及类型。
举例说明,创建表:
CREATE TABLE r(
`@timestamp` DateTime,
`clientip` IPv4
)
ENGINE = MergeTree
PARTITION BY toDate(`@timestamp`)
ORDER BY clientip
SETTINGS enable_dynamic_columns = 1
数据写入时,需要将半结构化数据以 JSON 的形式放在已定义字段的后面:
INSERT INTO r SELECT
toDateTime(JSONExtractUInt(json, '@timestamp')) AS timestamp,
toIPv4(JSONExtractString(json, 'clientip')) AS clientip,
json
FROM s3('https://schema-less-testing-1301087413.cos.ap-hongkong.myqcloud.com/documents-01.ndjson.gz', 'JSONAsString')
在写入了JSON 数据后,该表会动态扩展字段,通过 DESC r 查看:



简单查看数据:



数据写入引擎后,通过通配符查询 JSON 内部的嵌套结构:



也可以直接使用 JSON 内部字段各类查询: