doris动态分区会根据dynamic_partition.start和dynamic_partition.end自动创建分区和删除分区,且不支持手动创建、删除分区。
动态分区表插入数据时不会自动创建分区,如果没有分区会报错。(自动分区功能2.1版本后才有)
drop table test.student_dynamic_partition2; create table test.student_dynamic_partition2 ( id int, time date, name varchar(50), age int ) duplicate key(id) PARTITION BY RANGE(time)() DISTRIBUTED BY HASH(id) buckets 10 PROPERTIES( "dynamic_partition.enable" = "true", "dynamic_partition.time_unit" = "YEAR", "dynamic_partition.start" = "-7", "dynamic_partition.end" = "30", "dynamic_partition.prefix" = "p", "dynamic_partition.buckets" = "10", "replication_num" = "1" );
insert into test.student_dynamic_partition2 values(1,'2024-04-30 11:00:00','name1',18);
insert into test.student_dynamic_partition2 values(1,'2024-05-01 11:00:00','name1',18);
insert into test.student_dynamic_partition2 values(1,'2027-01-02 11:00:00','name1',18);
dynamic_partition.enable:
是否开启动态分区特性。可指定为 TRUE 或 FALSE。如果不填写,默认为 TRUE。如果为 FALSE,则 Doris 会忽略该表的动态分区规则。
dynamic_partition.time_unit:
动态分区调度的单位。可指定为 HOUR、DAY、WEEK、MONTH。分别表示按天、按星期、按月进行分区创建或删除。
当指定为 HOUR 时,动态创建的分区名后缀格式为 yyyyMMddHH,例如2020032501。小时为单位的分区列数据类型不能为 DATE。
当指定为 DAY 时,动态创建的分区名后缀格式为 yyyyMMdd,例如20200325。
当指定为 WEEK 时,动态创建的分区名后缀格式为yyyy_ww。即当前日期属于这一年的第几周,例如 2020-03-25 创建的分区名后缀为 2020_13, 表明目前为2020年第13周。
当指定为 MONTH 时,动态创建的分区名后缀格式为 yyyyMM,例如 202003。
dynamic_partition.time_zone:
动态分区的时区,如果不填写,则默认为当前机器的系统的时区,例如 Asia/Shanghai,如果想获取当前支持的时区设置,可以参考 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones。
dynamic_partition.start:
动态分区的起始偏移,为负数。根据 time_unit 属性的不同,以当天(星期/月)为基准,分区范围在此偏移之前的分区将会被删除。如果不填写,则默认为 -2147483648,即不删除历史分区。
dynamic_partition.end:
动态分区的结束偏移,为正数。根据 time_unit 属性的不同,以当天(星期/月)为基准,提前创建对应范围的分区。
dynamic_partition.prefix:
动态创建的分区名前缀。
dynamic_partition.buckets:
动态创建的分区所对应的分桶数量。
dynamic_partition.replication_num:
动态创建的分区所对应的副本数量,如果不填写,则默认为该表创建时指定的副本数量。
标签:00,partition,分区,oris,dynamic,动态创建,time From: https://www.cnblogs.com/chong-zuo3322/p/18168254