00:00
好,那接下来呢,是这个。驱虫啊,怎么去做到它的一个驱虫方案啊,呃,那首先呢,驱虫啊,第一个有很多种不同的去重方案,嗯,什么意思呢?嗯,比方说像日活这种驱虫,或者说像新增用户这种驱虫,对吧?呃,那这种呢,日活呢,是在一天范围内新增,那就全局的,我只要第一条数据,其他再来数据我就不要了,对吧,这是不是驱虫。是是啊,另外还有驱虫,就两条数据完全一样呗,对吧,这也是驱虫,那我们这个地方考虑的是保留一条还是最后一条。对吧,我们要考虑这个事情啊,呃,那当然你可以说C拉新,我们过滤出来要最小的这个时间,对吧?但实际上我们可以用更高效的方式,只让他未来只保留一条数据。
01:01
只保留一条数据怎么样呢?按照这个处理时间来就是一个思路了啊呃,按照。按照某一个字段分区,然后呢,All by处理时间,然后呢,我们取number等于一的。啊,Number等于一的。对吧,我们按照这个内容来做,而不是说你根据里边其他的一些内容来做,直接按照处理时间,对吧,根据这个内容就好了,那这样的话有什么好处呢?我们状态里边可以只保留一条数据。啊,保留单独的一条数据。对吧,我保留这个最小的这个时间就好了,好了,没最小的这个时间对吧?好,那如果说我保留最后一行呢,大家想一下,结合着这个内容来想一下,我如果现在保留的不是第一条,第一条呢,我可以按照这个处理时间。
02:01
啊。Number等于一的这条,那最后一条呢?如果说我要保留最后一条,这个应该怎么做?嗯。倒序取第一条对了啊,就倒序对吧?DC,然后呢,也是取第一条减一,减一是什么意思啊。直接倒序取一条不也就好了吗?对吧?啊,直接倒序取第一条啊,比比这个last value,有同学可能我不知道有同学想到啊,可能也没有人想到,对吧?啊,其实在这个里边呢,开窗取最后一个last value也可以,但是如果说你要取last value的话,它保留的数据呢,就会更多一点,对吧?而我们用排序倒序保留第一条,那这个更好一点。
03:16
对吧。好,这是驱虫啊,驱虫对吧,保留第一条跟最后一条可以有一个简便的写法,对吧,这个你要掌握一下啊,你要掌握一下它可以这样来做啊,好,那接下来高效的这个内置函数,那这个讲的是什么事呢?在系统当中它有很多的这个内置函数,也就是说这块讲的就是说大家尽量要用内置函数,尽量的少写自定义的啊,因为内置函数当中呢,它给你做了很多的这个优化,比方说序列化呀。对吧,他可以直接对这个字节单位进行操作啊,那这个都是效率比较高的,因为他自己写好的底层里边,他可能很多的时候用到了未运算呀,这种方式,那效率比我们自己写的肯定要高很多。
04:02
对吧啊,它自己系统会做了优化,所以在呃能用内置函数的时候,尽量用内置函数对吧,不要想着直接一上来就自定义函数了啊,不要这样对吧?然后like操作啊like呢就正常的,你去对比一下就好了啊中间一个点啊呃,尽量少的去用这个正则吧,因为正则的话,它匹配起来它比较慢,效率比较低,对吧?讲到这个事啊,这个还好,这个就是说能用内置函数就用内置函数就好了,对吧?这个大家也都比较清楚,因为自定义也比较麻烦的,对吧,也确实麻烦一点啊好,那下面呢是指定市区,就是说在我们的table过1PI或者说弗S当中,我们可以通过参数来指定我们的市区为亚洲上海,那这样的话,在开窗的时候,假如按天开窗就不用那个偏移量八个小时了,对吧?啊就就没有那个偏移量八个小时了,就会简单很多啊,这是十区最后一个参数总结啊,就跟我们之前写的这个checkpoint的一个道理。
05:00
啊,就跟我们写的车报一的,那不管三七二十一咔,我把那些东西呢,全部拿过来对吧,直接粘贴到这个位置那一样的,那你去思考一下这个东西呢,你先不管三级二之一,把这个东西呢全部拿过去对吧,然后你想想看当前里边用到哪些东西,诶把几个保留对吧?啊就可以,这个呢,就刚才我们涉及到的所有参数都在这。给你做了一个总结,你只要自己看这个,诶每个参数什么意思对吧?啊,能不能理解其实就够了对吧?好,这是我们所看到的其他这些东西啊,这是其他的一些又换了就还好了,这个东西对吧。
我来说两句