温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,那第三个问题。Split的这个是怎么回事呢?哎,他要解决的是count的热点问题,哎,那也就是说我也可以这样去解决啊,哎,不行来看啊,比方说这个数据长这个样子。啊啊,我要做这个。Colobe啊,在本地做驱虫,我们看一下会是什么现象好,那这里面呢,还是按红子分啊好,那这边呢,红色有AEABBA。EA,对吧,好,去荣。有一个A有一个A了,对吧,B1DE啊,这de呢都有一个啊,然后呢,然后这边有三个去掉了对吧,C有两个去掉了,但是一分组之后发现怎么样,还是。这边热点问题。啊,还是有这个热点问题,对不对啊,一样的还是有这个热点问题,呃,那这个时候怎么办呢?假如说我们要做的count distinct这个问题怎么办,大家想一下就是正常的S里边我们应该怎么做?
01:12
Count distinct会把这个红色全部放在一起,就算你做了log global先本地去找,有可能你这个K确实比较大,对吧?那我们是红色是K啊,不要看,哎,那abcd是这个怎么就不一样,注意红色红色啊,我们说的是这个红色对吧?那想一想之前在我们的。So,里边你是怎么做的?对吧,假如假如说你要做这个驱虫。做两层group。
02:02
做两三个没问题啊,其实就是这个啊,那这个点驱虫你要知道这个事儿对吧?啊,这个是没问题的,因为在本地聚合的时候,可能驱虫率不高嘛,啊去重率不高,可能呢,就还会导致这个热点热点问题对吧,那我们一般来说呢,就可以做这个,呃,双重双重各入。对吧,双重,那其实也就是说先做一次分组,再做一次。对吧,先按ID分组,ID分组,然后呢,再去做这个事情啊,防止这个数据倾斜的一个现象发生,对吧?啊来做这个事情好呃,那传统的。你自己count这样写,那我们要做的时候呢,先group by对吧,再做group by啊,做两层BY啊,那这个地方呢,呃,在既然是弗link so格就没必要了,我们就直接干什么。开启单数就好了,对吧,开个参数默认是不该启的,那我们可以开启一个参数来帮我们实现这个功能,对吧?还是一样的,并不需要我们手动去做操作啊,它的原理呢,跟之前都是一样的,因为它要去重,它要去重你本地local global呢,也去重不了太多啊,所以呢,我们要做双重聚合。
03:19
啊,双重聚合对吧,先按照ID分分个组,然后接下来呢,再重新。聚合啊,再聚合一次对吧,这是我们所看到叫Li的先切分其中对吧,意思啊好。
我来说两句