【发布时间】:2020-01-26 21:46:54
【问题描述】:
我正在尝试将 clickhouse 集群从版本 18.8 升级到 19.9.2。以前,我有一个从数据库中删除旧数据的 cronjob。我想开始使用 TTL 功能。
简化表定义:
CREATE TABLE myTimeseries(
timestamp_ns Int64,
source_id String,
data String,
date Date MATERIALIZED toDate(timestamp_ns/1e9),
time DateTime MATERIALIZED toDateTime(timestamp_ns/1e9))
ENGINE = MergeTree()
PARTITION BY (source_id, toStartOfHour(time))
TTL date + toInterValDay(7)
SETTINGS index_granularity=8192, merge_with_ttl_timeout=43200
问题是,它不会删除旧数据。我在文档中找不到任何有助于调试此问题的内容。
问题:
如何调试此问题? (有没有办法查看以后什么时候清空数据)?
这可能是因为日期字段被具体化了吗?我有另一个表,其中日期不是具体化字段,并且一切正常。
【问题讨论】:
-
我也有类似的问题,可能与github.com/yandex/ClickHouse/issues/6462有关
标签: ttl clickhouse