我试着在第一栏上做实验。为此,我创建了一个具有低ttl列的表,并更改了ttl频率,我将merge_with_ttl_timeout添加为5秒。但是桌子从来没有更新过(1小时)。即使我像下面这样从配置文件中更改了全局ttl超时,也于事无补。
<merge_tree>
<merge_with_ttl_timeout>10</merge_with_ttl_timeout>
</merge_tree> 经检查:
select * from system.merge_tree_settings where name like '%ttl%';表ddl:
CREATE TABLE example_table
(
d DateTime,
a Int TTL d + INTERVAL 5 SECOND,
b Int TTL d + INTERVAL 10 SECOND,
c String
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(d)
ORDER BY d
SETTINGS merge_with_ttl_timeout=5;Manuel命令强制执行ttl更新(单独工作):
ALTER TABLE example_table MODIFY COLUMN b String TTL d + INTERVAL 2 SECOND;ALTER TABLE example_table MATERIALIZE TTL;另一方面,table工作起来就像一种魅力(它是在时间上更新的):
CREATE TABLE example_table2
(
d DateTime,
a Int,
b Int,
c String
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(d)
TTL d + INTERVAL 6 SECOND
ORDER BY d
SETTINGS merge_with_ttl_timeout=5;总之,我想观察列ttl是自动工作的,我如何实现这一点?
点击版本: 20.12.5.14
发布于 2021-01-18 15:57:56
https://stackoverflow.com/questions/65772577
复制相似问题