Clickhouse:有什么方法可以在一个“ alter table drop partition ****”查询中删除多分区?

时间:2019-03-25 02:40:20

标签: clickhouse

在Clickhouse中,表按天分区。现在,为了方便起见,我想在一个alter查询中删除多分区。

我已经使用while循环通过shell完成了此操作:

while [[ $startDate < $endDate ]]
do
    clickhouse-client --query="alter table db.table drop partition toYYYYMMDD(toDate($startDate))"
    startDate=`date -d "+1 day $startDate" +%Y-%m-%d`
done

我只想找到一些可以轻松实现此目的的方法。有什么办法吗?谢谢〜

2 个答案:

答案 0 :(得分:0)

您可以改为使用ALTER TABLE <table> DELETE WHERE <partition-filters>一次性删除多个分区。

答案 1 :(得分:0)

你可以使用这个

ALTER TABLE my_table ON CLUSTER 'my-cluster'
    DROP PARTITION '2020-01-01',
    DROP PARTITION '2020-01-02',
    DROP PARTITION '2020-01-03'

不幸的是,似乎没有比这更方便的了。