00:00
呃,那接下来呢,我们看一下它的一个隐身的引擎,叫replacing water。哎,这个呢,你看啊,它也是一个没税,但是replace表示替换。表示替换对不对,那既然是替换的话,其实相当于是一个什么去重啊,假如说两条数据完全一样,我做一个驱轴对吧,其实它呢,如果说有了这个replace模税啊,这种这种表呢,它具备幂等性。注意它具备幂等性,因为它可以驱虫嘛。它可以驱虫,你插入两条相同的数据,那么我给它做了一个去重,是不是幂等性?对不对。没有问题吧,对吧,其实它多了这个驱虫的功能,就相当于呢,就可以做到这个幂等性的一个功能。啊,做到密等性的一个功能对吧?好,那么接下来我们看啊,就是说驱虫时期,它也是只有在合并的时候才会去去重。
01:07
才会就干掉这个数据,在合并的时候才会真正的干掉,对吧,所以有时候你要做驱虫的时候呢,可以咱们得手动,咱们得手动对吧,驱动范围还是一样的,在区内,如果是分区表,那就区内。啊,他不能跨分区,如果说你不是分区表。那就无所谓了,那就整张表白对吧,是这个意思啊好,那接下来我们看一下,关键的点在于那它的一个驱虫,我们是根据。整行数据都相同。还是说根据某一些字段来做驱虫,大家觉得哪个更好用一点?就是整条数据一样,我会做去重,还是说我某几个字段一样,我就可以做到去重,哪个更好用啊?或者说h base里边,它是根据什么来做去重的。
02:12
对了,根据字段里边是不是根据ug呀,对吧,也是根据某一个字段吧,来做去重的啊,一样的啊,这里边注意它呢,是根据凹的BY自带来做序容的。注意啊,这个地方它是用的是凹的。BY的字段啊,就是这个时候outb字段不允许重复了啊,后写入的会把前面数据呢覆盖掉啊会覆盖掉,好那我们看一下,首先这个地方呢,我们来看一下啊,它的引擎。创建四个字段没有问题,爬这个东西呢,还是这样。还是这个对吧,好,接下来引擎我们指定的叫replacing motor,然后呢,根据创建时间。这个创建时间呢,就相当于是我们指定了一个版本,I当中我们经常提一个东西叫版本,对不对。
03:09
是不是版本大的,如果说两张数据R一样留下版本大的,就时间中大的,那这个也一样,有一个create time啊,有一个create time对吧,要这个留版本大的啊,行,那我把这张表创建一下。啊,叫这个RMT。啊叫replacing模RMT啊好,那下来呢,往这里面去放数据,还是放的这个数据。现在我们查一下谁那个心。这张表。注意看啊,这个时候呢,它就是我们就按照这个是数据的顺序放啊,呃,101它自己对吧,然后呢,是1021,然后是102。13,然后有一个102。还有一个102什么。
04:03
这里边儿就有意思了,什么意思呢?来看啊,呃,首先我们重复的,因为我们的out bed是不是这个。按照ID加SKID进行order by来看啊呃,关键问题去找,那首先字段呢是create time,最大的呢是13,那就保留13,但是这里面两个13。两个13对不对,那大家觉得保留哪一个呀?注意还有12在后面对吧。大家觉得是哪个,是那个2000,这个2000还是12还是6600。是这个一万二两千,还是这个600。大家觉得?就现在查是不是都在呀,现在查都在,因为它没有合并啊,还没有合并,那等会呢,我执行合并之后,大家觉得应该保留的是哪条数据。
05:02
一万二好,那我们先来合并看一下对吧,然后table大家觉得是一万二的理由是什么呢。什么理由呢?哎,我我不是合并的这张表吗。RT。我创建错表了吗?我看一下。Rmtplacing create time,然后我们按照ID加SID啊对final final final,我就说这个地方要加final啊,不加final,它不是立即执行啊,它不是立即执行OK3我就说这个数据没有变化,好,那我们再查一下留下了谁呀。一万二没有问题。对吧,留下了12000,那为什么留下了一万二呢?那你看我们插入顺序就知道了,首先我们知道,那比方说我们这个里边合并之后,是不是要取最大的。
06:11
那这里边呢,102 sku002这四条数据最大的呢,是这个13,所以肯定不会出现这个11,也不会出现12,因为我们说了,按照这个时间是它这个版本对吧,所以至少得是13啊,所以最后是13没问题啊,那这里面一个两千一个万二,那怎么判断呢?你俩时间一样,完美一样,但是呢,我这条数据是不是比你后插入啊。我俩时间一样,但是我后写进来,我后写进来是不是相当于对前面数据的一个覆盖。有没有问题?这个能不能理解呀,对吧?啊,它是后写入的,这个一万二呢,它是后写入的,对前面数据做一个覆盖对吧?但是呢,最后写入的是不是它呀,也不能光看写入时间,要在版本,如果版本相同再看写入时间啊,它是这样的一个方式,对吧?好,那下面呢,就是有有一个查询,我们要做一个,这边标红了再查询就不一样了。首先。
07:15
实际上使用outb作为唯一键,也就这里边,最后呢,会根据outb的字段做驱重对吧?驱重不能跨分区没有问题啊,不能跨分区呃,只有合并分区后才能取重啊,要合并对吧?首先认定重复的数据需要保留版本字,字段值最大的,如果说版本字段值相同,按顺序插入顺序保留最后一笔,对吧?就刚才我们那个测试所有的东西都测出来了。没有问题吧,啊,我们要的东西全部都测出来了,这就是结论,最后呢,这是一个结论对吧?啊是这样的一个内容啊,比较简单啊比较简单行。
我来说两句