00:00
接下来我们聊一聊动态分区,动态分区呢是Doris0.12版本才引入了,如果你的版本比他早,那还没有啊,它其实就是对表级别的分区,实现生命周期的一个管理。比如说我只想。保存最近一个月的数据。那么是不是随着时间推移,有些数据就超过一个月了,那就自动被干掉,这是其中一个,另外一个是自动创建新未来几天的分区,来我们具体看啊,呃,动态分区有几一些限制啊。那么只支持range分区list不行啊,那种没举的分区不行,那它的一般原理呢,正常来讲我们。通常是按照天进行分区划分,对吧,而且是每天执行一些任务。如果你是手动管理的话就很麻烦。那我们可以使用动态分区功能,它怎么用呢?
01:01
我们只要呃对应的使用方式用起来之后,Fe会启动一个后台线程。根据我们指定的这些规则去创建也好,删除也好。对吧。一些分区就是它它自动来实现,根据我们定义好的一些参数。那这样的话就相当它自动来管理一个分区的生命周期,所以为什么说生命周期啊,生命周期就包含了创建和销毁嘛,也就创建和删除它都能做啊,这个跟hi的动态分区还不太一样,对吧?Hi动态分区可不管删除对不对啊,它只是说根据数据啊,是哪个分区就插入到哪个分区,不是一回事啊,不是一回事啊,你不要跟他联系起来。来,那我们动态分区的规则呀。大家注意是规则啊,在建表时可以指定,那你看我们在create table的时候不是有一个properties吗?啊表属性对吧?在这里可以去指定动态分区的一些规则。
02:05
而且呢,目前只支持对单分区列的设定动态分区,多分区列那是不行的啊,多分区列不行,还有一种方式是我建表的时候没有指定,那你可以运行的时候去指定规则,用alt table。去指定这个相应的规则参数就可以了,那具体有哪些参数呢?我们来看一看啊。它的参数都有特点,你别看这么多啊啊,前面都都是固定的前缀,叫什么动态分区,好,那首先第一个叫什么enable。这是不是一个开关呢,对吧?处表示开启动态分区,False表示关闭,好接下来是时间单位。动态分区调度单位可以指定什么呢啊,小时天周月。啊,那它每一个单位都有固定的格式啊,就回头你写规则的时候啊,小时呢,就YYYYMMDDHH注意大小写对吧。
03:07
而且分区列类型不能为date啊,因为你要为这种格式嘛,那D后缀格式就是到DD对吧,Week呢是YYYYWW对吧,表示当年第几周啊,那月呢就简单了。到月好,这是指定一个时间单位啊,时间单位好。A啊,不用加后再往下,这是指定一个什么时区啊呃,如果不填写默认为当前系统时区啊,所以我们一般也不会去设啊,如果不对你再去,呃,指定一下接下来这两个。是你一定要会,这个就是动态分区的起始。偏移,还有结束偏移,大家注意是偏移啊,而不是时间点啊,这表示偏移,那么它的偏移一般是它是一个复数。
04:11
也就是说,比如说啊,我举个例子啊,我这个时间单位选用的天天好理解对吧?好,那我start。比如说呃,是一的话,它是什么意思啊。就是以当天为基准。哎,我往前推一天,这个就是我动态分区保留的起始范围,比如说今天如果是呃,3月3号。那我的起始偏移是一的话,那就是说3月2号,哎,我会保留。那如在在之前呢,它会自动删掉啊。只保留以今天为基准,往前推多少个时间单位啊,是这个意思啊,如果我们不指定一个start,它默认就是什么。
05:00
命的最小值,即负的很多很多,也就是说我以前的分区是不是都不会被删了,因为它这个起始这个偏移太多了啊。是个负数啊,别忘了啊,我刚才举例其实就是负一嘛,负一天对吧?啊,往前偏一天保留一天好end的是什么大是往前摁,就是往后结束偏移,它是一个正数还是一样的时间单位为day,那这个N为一,那比如说今天是三月三,那就是往后推一天,我会保留到三月四。哎,不是保留这个叫提前创建对吧,今天是三号,那我就会创建四号的分区。对吧,所以这个就是对应的创建销毁啊,注意end是创建,Start是销毁啊,这就实现一个生命周期管理啊,另外是7788的一些事,一个是前缀啊,动态分区,自动创建分区,对吧,你可以指定它创建的分区啊,携带的一个前缀,看你有没有需要好八。
06:07
你不是动态创建分区吗?那我们说分区里边是不是还可以分桶啊。对吧,那我们就它既然是自动创建,我们也要指定一下它自动创建的分区分统数是几个,另外我们不是讲的每个新建的分区,它副本数可以单独设置吗?那动态分区也一样,那动态分区自动创建的这种它的副本数是多少啊。如果我们不指定,那就跟我们建表时指定的副本数保持一致啊。好,那接下来是一周里面的第几天,这个值用在什么时候?单位为时间,单位为位的时候。对吧。每周的起始点一到七,一表示周一,二表示周二,三表示周三啊。那。
07:01
一样的,Start day of month,这个是用在单位为month的时候,每月的起始日期取值为一到28,注意没有30,也没有31。为什么呢?因为他们对那种二月,二月是不是到28,那甚至有时候看闰年不闰年的是不是也有29号啊,那还分大小月是不是有30号,31号,所以他不管不处理了啊,反正一到28肯定有,就这个意思。好。这个是一些主要的参数啊,最核心是哪几个呢?哎,一个开关啊,一个时间单位还有呢。一个创建和销毁的偏离量啊,这几个。啊是最主要的。其他的倒不是很重要。
我来说两句