00:00
好,那把我们昨天所聊的内容呢,做一个快速的回顾啊,那昨天呢,咱们主要是聊了这个DW。S层对吧,啊呃,那么作为DWS层呢,我们知道它要做这个聚合,根据我们所说的这个叫指标体系建设,去规划我们整个的一个。表对吧,要有哪些表,然后这样这些表呢,就是要做聚合,因为有力度。有业务过程,业务过程呢,就是我们要求的这个度量值,其实。对吧,然后呢,会有这个统计周期,其实说实话,我们就是按照统计周期和这个。统计力度,也就是说维度组合进行分组,然后呢去聚合我们的业务指标,业务过程。对吧,啊,只不过说那也就是说你你说的不对,那统计周期呢,你并没有去作为分组啊,在离线收仓里边,那是因为在离线收仓你呢。
01:04
是因为什么呀?你要求每天的。那你先提前把每天的数据过滤好了,你这里边儿只有今天的数据。所以你感觉不到按照这个时间做了一个。分组。对吧,那如果你把它放到全局的角度来看,你要求每天的,那是不是应该按照天进行分组啊,对吧,除了你的正常的统计力度之外。你还要按贴。来分组啊,那必然是那样的。对吧,啊好。呃,那我们在实时收藏里边呢,我们肯定不能按天来做,所以最后呢,我们就开窗啊,这个窗口大小呢,你看公司当中的一个要求而定啊,我不建议大家未来在面试的时候你就说,诶大家都说这个十秒。不对。
02:00
对吧,那我们设置为十秒是有原因的,我也跟大家解释了,咱们呢是因为后续用的这个书这个可视化的展示工具,它最快的刷新频率是十秒钟一次。那也就是说我窗口设置的如果比十秒小,意义不大,你也看不到更快的一个效果。对吧,啊,那我们如果在深软件当中,你对实时要求比较高,你可以是一秒钟的窗口,两秒钟窗口,甚至我不开窗。对吧,我不做这个。开窗。也可以,我直接把这个数据规划好对吧,诶写一个,比如说第一个需求,我们昨天写过的,写一个单词一单词一写出去,对吧,用这种方式写出去,这也可以啊。对吧,这个。当然我们说的也对比了跟开窗的一个优缺点啊,开窗呢,时效性会差一些。因为开窗了,你要几秒钟做一次结果,对吧,而我们直接写的话,时效性是最好的,但是。
03:08
数据量很大,然后跟数据库的连接也会很大。很多对吧,啊,就是效率会受到影响,主要是这样的一个情况啊好,呃,那这个是我们所说的叫DWS整体的一个内容,我们要做什么事,接下来呢,我们就做第一个需求,第一个需求呢,咱们是用的flink circle来做的实现。啊,那我们也解释了,为什么第一个需求我们还要用弗Li circle,明明DWD用了很多的弗Li s对吧?啊,不是说这个需求只能用弗Li s,哎,我问大家这个需求当中呢,我们用到了UDTF对吧?好,那如果我用硫,我应该用什么?对吧,你这边自定义等于UDTF函数。那如果用硫。那我们应该用什么呢?
04:14
哎,那这个不错啊,Fla map其实就是一个压频操作,对吧?啊,就是一个压频。啊,Fla map没没毛病啊,这个要清楚啊,就是说我当时也提了,就是说呃,这个DWS的需求呢,你都用data stream其实可以对吧,你都用这个弗link circle其实也都可以。啊也都行,只不过说他肯定会有有一个方面有一个复杂一点,那这个不可能说我有两种不同的API,它写出来完全一样,你整个的感受对吧,而且呢,包括你自己熟悉程度可能也不一样,假如说你对于data stream更熟悉一些。对吧,那可能我们就用data加stream写的更爽,你就觉得data加SIM写起来可能好好就更简单一点,对吧,你要是经常用circle。
05:03
那这个人肯定会认为,那so写起来实现起来更简单一点,用data stream呢,可能会更麻烦一点。能懂吧啊,就看你自己个人的一个实力,这都是相关的啊,没有说明确的一个优缺点,就是谁好谁差,也要看人,对吧?啊,难者不会。会者不难,一样的道理对吧?好,呃,那我们这个需求当中呢,用so是因为有三个点我们要再去做,第一提取事件时间。在弗Li so里边提取时间时间对吧,因为之前我们在D层提取的是处理时间第二。UDTF函数,刚才我们提到了,我们要自定义函数,在DWD并没有自定义过,对吧,这里边呢,我们直接自定义个UDTF,当然也不是说四种都自定义的也没有对吧,你就找一个要代表的啊好,那第三个就是开窗。啊,开窗在弗Li so里边那个开窗这种的一个写法,对吧,我们要去聊一下啊,那之后真正开启这个需求呢,我们发现要写UDTF函数,对这个搜索的关键词啊,进行一个炸开。
06:10
所以我们引入了IK分词器,我们自己写的,相当于对吧?啊,当然不是IK分词器,我们自己写的,是利用IK分词器做分词的这个工具类,咱们自己写的。对吧啊,直接调用IK分词器,然后呢做我们的一个分词,然后呢,引用进来之后呢,去处理我们关搜索的这个关键词就好了,对吧啊然后呢,做正常的word count,只不过说在。真正开窗计算的时候呢,我们要讨论的一个问题就是关于字段,我们到底要保留哪些个字段,对吧?更重要的我们讨论出来要保留窗口时间。对吧,两个我们都保留了,实际上。你保留一个也可以,你只保留STT也可以,对吧,这个窗口的开始时间啊,也可以说实话对吧?呃,你保留两个也行啊,保留其中任何一个都没有问题啊,都没有问题对吧,这是我们昨天。
07:06
所聊的内容啊,所讲内容,当然我们现在呢,还没有写完,我们只是做了一个打印测试,因为最后真正的呢,咱们就要把这个数据写到。Click house里边对吧,好,那接下来呢,我们就要处理这块代码,我把这个先解掉啊。
我来说两句