【问题标题】:How to alter/change Materialized View TTL in the Clickhouse?如何更改/更改 Clickhouse 中的物化视图 TTL?
【发布时间】:2021-11-28 07:28:16
【问题描述】:

我有一个物化视图:

CREATE MATERIALIZED VIEW reporting_device_raw_data
ENGINE = MergeTree()
PARTITION BY toYYYYMM(ts)
ORDER BY (device_id, ts)
TTL ts + INTERVAL 3 MONTH
AS SELECT
    device_id,
    ts,
    value
FROM reporting_device_raw_data_null;

我尝试过:

ALTER TABLE reporting_device_raw_data MODIFY TTL ts + INTERVAL 12 MONTH;

但出现错误:

DB::Exception: Alter of type 'MODIFY TTL' is not supported by storage MaterializedView.

有哪些可能的解决方法?

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    检查show create database .... 获取数据库引擎。

    普通数据库:

    ALTER TABLE ".inner.reporting_device_raw_data" MODIFY TTL ts + INTERVAL 12 MONTH;
    

    原子数据库:

    select uuid from system.tables where name = 'reporting_device_raw_data';
    ALTER TABLE ".inner_id.{uuid from prev. select}" MODIFY TTL ts + INTERVAL 12 MONTH;
    

    【讨论】:

    • 我在我的数据库上尝试了这个,如果我 show create table my_index 我看到 TTL 的旧值,但 show create table ".inner.my_index" 显示新的 TTL 值。我还需要采取其他步骤来同步吗?
    • stackoverflow.com/questions/50622488/… 看起来像一个副本,并且有更多关于需要分离和重新附加物化视图的信息
    • @jeremy 在 MV 中的 TTL 无关紧要。检查这个den-crane.github.io/…
    • 因此,如果我理解正确,物化视图将数据放入真实表“.inner.[myindextable]”中,只要 .inner 表上的 TTL 正确,我就会好的?这如何与数据库集群一起工作?我需要在集群中的每个节点上运行它还是可以“ON CLUSTER x”?
    • @jeremy 我敢你使用TO物化视图语法符号。 den-crane.github.io/…
    猜你喜欢
    • 2018-11-10
    • 2020-11-14
    • 2018-01-08
    • 2011-04-06
    • 1970-01-01
    • 2011-01-02
    • 2017-12-03
    • 2023-03-08
    • 2013-03-01
    相关资源
    最近更新 更多