MAPREDUCE服务 MRS-配置ClickHouse冷热分离:自定义冷热分离数据存储策略

时间:2024-12-12 20:11:19

自定义冷热分离数据存储策略

  1. 使用clickhouse client客户端命令连接ClickHouseServer节点,具体请参考ClickHouse客户端使用实践
  2. 创建配置冷热存储TTL策略的ReplicatedMergeTree表。

    ClickHouse支持表级别的TTL表达式,允许您设置基于时间的规则,从而能够自动的在指定的磁盘或者卷之间移动数据,以实现了数据在不同的存储层之间的分层存储。

    具体建表语句参考如下:
    CREATE TABLE example_table on cluster default_cluster
     ( 
    d DateTime, 
    a Int
    ) 
    ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/example_table', '{replica}')
    PARTITION BY toYYYYMM(d) 
    ORDER BY d 
    TTL d + INTERVAL 3 YEAR, 
    d + INTERVAL 1 YEAR TO VOLUME 'cold_obs_volume' 
    SETTINGS storage_policy = 'hot_cold_separation_policy';

    以上示例,加粗部分为TTL配置。该示例将example_table表中d时间列三年后的冷数据删除,d时间列一年后的冷数据转存到OBS。

    TTL表达式只是一个简单的SQL表达式,里边包含了时间以及时间的间隔,例如:

    • 数据存活的时间为date_time时间的3天之后。
      TTL date_time + INTERVAL 3 DAY
    • 数据存活的时间为date_time时间的1年之后。
      TTL date_time + INTERVAL 1 YEAR

    INTERVAL支持的操作:second,minute,hour,day,week,month,quarter,year。

    storage_policy:指定自定义存储策略配置。当前示例为3“_clickhouse.storage_configuration.disks”参数中自定义的策略名。

support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_2493081.html