MAPREDUCE服务 MRS-ClickHouse应用开发建议:本地表建表参考

时间:2024-05-28 14:22:56

本地表建表参考

本地表创建参考:

CREATE TABLE mybase_local.mytable
(
    `did` Int32,
    `app_id` Int32,
    `region` Int32,
    `pt_d` Date
)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/mybase_local/mytable', '{replica}')
PARTITION BY toYYYYMMDD(pt_d)
ORDER BY (app_id, region)
SETTINGS index_granularity = 8192, use_minimalistic_part_header_in_zookeeper = 1;

使用说明:

  1. 表引擎选择:

    ReplicatedMergeTree:支持副本特性的MergeTree引擎,也是最常用的引擎。

  2. ZooKeeper上的表信息注册路径,用于区分集群中的不同配置:

    /clickhouse/tables/{shard}/{databaseName}/{tableName}:{shard}是分片名称,{databaseName}是数据库名称,{tableName}是复制表名称。

  1. order by 主键字段:

    查询时最常使用且过滤性最高的字段作为主键。依次按照访问频度从高到低、维度基数从小到大来排。排序字段不宜太多,建议不超过4个,否则merge的压力会较大。排序字段不允许为null,如果存在null值,需要进行数据转换。

  1. partition by 分区字段

    分区键不允许为null,如果字段中有null值,需要进行数据转换。

  1. 表级别的参数配置:

    index_granularity:稀疏索引粒度配置,默认是8192。

    use_minimalistic_part_header_in_zookeeper:ZooKeeper中数据存储是否启动新版本的优化存储方式。

  1. 建表定义可以参考官网链接:https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/mergetree/
support.huaweicloud.com/devg-rule-mrs/mrs_07_450062.html