举例说明:
CREATE TABLE tbl1
(k1 DATE,...
)
PARTITION BY RANGE(k1) ()
DISTRIBUTED BY HASH(k1)
PROPERTIES
("dynamic_partition.enable" = "true","dynamic_partition.time_unit" = "DAY","dynamic_partition.start" = "-2","dynamic_partition.end" = "3","dynamic_partition.prefix" = "p","dynamic_partition.buckets" = "32"
);
假设当前日期为 2020-05-29。则 tbl1 会产生以下分区:
p20200529: ["2020-05-29", "2020-05-30")
p20200530: ["2020-05-30", "2020-05-31")
p20200531: ["2020-05-31", "2020-06-01")
p20200601: ["2020-06-01", "2020-06-02")
我们可以看到以这种方式创建的分区是不包含历史分区的,这是由于 doris 在建表时默认是不会创建历史分区的,需要我们自己去进行配置。
在 PROPERTIES 中添加下面的配置即可:
CREATE TABLE tbl1
(k1 DATE,...
)
PARTITION BY RANGE(k1) ()
DISTRIBUTED BY HASH(k1)
PROPERTIES
("dynamic_partition.create_history_partition" = "true",...
);
此时 tbl1 会创建如下分区:
p20200527: ["2020-05-27", "2020-05-28")
p20200528: ["2020-05-28", "2020-05-29")
p20200529: ["2020-05-29", "2020-05-30")
p20200530: ["2020-05-30", "2020-05-31")
p20200531: ["2020-05-31", "2020-06-01")
p20200601: ["2020-06-01", "2020-06-02")