Clickhouse 的新手并停留在用于导入嵌套的 json 数据的数据库创建结构上
以如下所示的 json 数据为例
当有数据填充时
"FirewallMatchesActions": [
"allow"
],
"FirewallMatchesRuleIDs": [
"1234abc"
],
"FirewallMatchesSources": [
"firewallRules"
],
或者
"FirewallMatchesActions": [
"allow",
"block"
],
"FirewallMatchesRuleIDs": [
"1234abc",
"1235abb"
],
"FirewallMatchesSources": [
"firewallRules"
],
但可能有没有填充它们的 json 数据
"FirewallMatchesActions": [],
"FirewallMatchesRuleIDs": [],
"FirewallMatchesSources": [],
clickhouse 创建数据库结构是什么样的?
ClickHouse 支持列类型为Array as Nested。
看起来你的情况 Array 就足够了:
要减少存储消耗,请考虑使用LowCardinality类型和数据编码。
附加信息:
ClickHouse 中的嵌套数据结构
使用 LowCardinality 类型降低 Clickhouse 存储成本 – Instana 工程师的经验教训
提高 ClickHouse 效率的新编码