00:00
那我们看一个实际的案例啊,前面讲了那么多。首先我们先啥也不说,我们先直接上来看这么一个建表语句啊。来,你看create table,然后呢。如果表明存在就不创建对吧?啊,然后我们说了这库名可以携带是不是啊,然后这个是什么表明好再往下看下面这些括号里面的东西。我们常规来讲是不是定义字段,还有字段类型啊,你看字段名叫UID类型呢,是large int,这个是不是16字节对吧?那也可以写这个not now,也可以写什么字段的注释,这个跟所跟一写my circle or的语法用法差不多啊,但是后面这些并不是啊,这几个是特殊的啊,大家可以看到。这里是不是定义了data time这个类型啊,但是后面加了一个什么东西啊,Replaced。
01:05
那再看下面这个字段,虽然是big in,后面又加了一个什么上。还有这个啊,虽然是int类型,又加了一个什么max下面也一样加了一个int,那这个就是我刚刚提到了这些不属于字段类型,这是属于什么聚合类型?这关键字就是所谓的replace some ma,哎,前面提到了,你看聚合类型包含什么呢?Some ma me replace。那么。这个其实就是什么呢。聚合类这几个是聚合类型对吧,那所以我们这些会称为什么value列对吧,那这些称为什么呢。T列对吧,这个就是我们一开始在讲到基本概念啊,这个列的时候,我们说有特殊的地方啊,关键就出在这里啊,这里这里这里。
02:08
啊,当然还有一跟一个东西有关这个。这个是指定key的啊,指定key。回忆一下吧,啊,主要是让大家回忆一下,我们前面也讲了对吧,在聚合模型里面分为key和value链啊。好,这是第一个比较不同的地方,接下来我们再看看其他是不是要指定引擎呢?对吧,我们说常规的是不是oap啊,你不指定也是op啊,好,再看看我们认得的这个是什么?爬梯升拜,爬升拜就是指定分区,再往后这个是什么?D是tribu by,这个就是分筒那。结合起来我们称之为这种叫什么复合分区对吧,又分区又分桶,好,那properties指定一些属性对吧,那参数肯定是有很多的啊好。
03:05
那这个分区呢,这边我们要提一嘴,它的分区其实啊是支持一个叫范围分区。还有一个叫列表分区list,来我们分别看一下区别啊。这个分区啊,大家看我爬了一身拜,比如说我根据data这是一个字段,对吧,在上面这里有它是一个字段,根据data这个字段做分区,而且分区类型是range类型,什么意思呢?我们看一下语法partition,然后呢,这是分区的名字啊,这是分区名。就这个分区,我起什么名字啊,然后呢,Values less than。这比它小啊,小于某个值,你看这是不是就指定了一个范围,比如说小于这个值,那不不就指定的范围吗?那第二个分区名字叫它。
04:00
然后它是小于20170301对不对,那说明这个。P201702这个分区,这个分区的范围是多少,大家注意。他取的是上一个分区的结束,也就是说它是2017啊02011直到哪里呢。到2017。0301对吧,它表示这个分区是这个范围,它所以你前后顺序就很关键了啊,你写分认解分区的时候,这个顺序可不能乱写啊,不能乱写好。这是认指定范围,一般就是用出现这种啊,大于小于好,那我们看一下分农怎么写啊,是不是根据U染ID这个字段,然后呢,什么方式啊,取哈希对吧,然后分成几个桶啊,16个桶,那么我们可以想象一下底层怎么实现了,是不是对U了ID取一个哈希值对不对?哈希出来再对统数取什么取模,这样是不是就能决定哪些数据要进入哪一个分筒,也就是哪一个table that。
05:27
啊,这个原理大差不差的啊,都是这么差不多都这么设计行,那至于前面提到这个aggregated key,这个对应的什么,我们说这是跟数据模型有关,这是一个聚合模型啊,聚合模型回头啊,大家先认一下就行了,那里面写的就是K列啊,K列K呢就是维度列嘛,你看这些字段在前面是不是都有出现,是不是这几个列。对吧,K。
06:01
那后面这几个都是聚合列,就是value列了啊。好,这是一个最基本的range,那我们再看一个例子,是例子的分区啊,都一样啊,前面这些都一样,我不再啰嗦了啊,都一样,包括下面这个分桶都一样,区别在哪呢?区别在这一块。分区这边分区我们采用的是list分区,List就不是那没有那种所谓的大于小于了啊,不是指定一个范围,而有点像枚举啊,有点像枚举,比如说CT这个字段。它是不是有很多城市,什么北京上海对吧,深圳东京香港等等啊城市这个字段,那么接下来你看我们怎么写partition,然后给分区起个名字啊分区名嘛。分居的名字,然后呢,Values in对吧,那后面是不是有固定值啊。
07:03
对吧,如果是这三个值的其中一个,那这条数据。就是属于这个分区里面的啊,这个就所谓的list啊,有点像枚举对吧。好,那这个呢,就是我们对建表语法。呃,给一个具体的案例给大家分析一下,现在我们回过头瞅一眼这个现在是不是有点熟了,哎,字段的定义对吧,再往下引擎的定义。Key的描述。比如说是。呃,是刚才的那个aggreg key对吧。然后呢?分区分筒啊,当然这个我们还没看啊,属性我们看呢,对吧,这个也还没看啊,大概就是这么几个东西啊,不难啊不难。
我来说两句