00:01
那我们现截止到目前为止呢,咱们的ods层和我们的DWD层已经全部搞定了,我们把这个呢,做一个总结啊,做一个总结,那至于为什么要总结,到时候大家知道了,到了DWM层啊,它就不太一样了,对吧?首先啊,首先这里面有哪些重点的东西啊,我们大家去讲一下啊,来我在这边给大家写一下你未来要整理的也是自己最重要的ods。OD。对吧,嗯,你要注意的东西,以及还有这个DWD。Di'm层我们把这个放在一起,对吧,你要注意的事情来,呃,首先ods,那你要知道第一个数据源。啊,面试的时候可能会问的对吧,我们呢,一个是行为数据,也就来自于日志的,还有一个呢,是业务数据。对吧,这是数据源,第二点是架构分析啊,但是这个我就不写了,在这个我就不写了,因为架构分析我们讲了很多,对吧,至于我们为什么要用这种架构,两个对比我们也已经聊过了,那这个是当中的一个重点内容,对吧?也是我们ods层的一个第一个文档的重点内容,你要去重点关注的啊,那个架构你要自己能讲出来,而且学完之后,学完之后啊,是要求大家自己从头到尾讲到ABS层全部讲下来,起码你一个架构如果说没有人打断。
01:35
你起码得讲个40分钟才是合格的,如果你五分钟就说完了,对吧,你面试可能也就十分钟就出来了。大家注意啊,要求得是半个小时到一个小时。啊,就40分钟,起码得40分钟这样子啊好,这是架构这一块啊,你要你要去认真整理的对吧,你画架构图的时候,你要注意一下,画我们整个数据流程图对吧?好,那ods层当中还有第三个是什么东西呢?来。
02:05
就是我们的flink CDC flink CDC你要去掌握一下。啊,你一定要去掌握一下对吧?弗Li CDC能够做哪些事啊,有data stream API,有弗link circle。方式对吧?啊,那它们两者之间的对比,那我们写一下flink CDC这块要掌握的东西就是data stream和这个link。Circle之间的对比对吧,还有掌握的是flink CDC跟这个Maxwell,以及跟canal。之间的对比,因为面试官可能会问你,哎,弗Li格CVC他技术比较新对吧,他可能会问你,那你为什么要用弗Li CC,那其实这块就问的就是跟你为什么不用其他的框架,那肯定优于其他的框架,所以像这个之间的对比,你肯定要重点去掌握的啊,重点掌握的好,那最后一个事情就是说ods做了什么事啊,其实你说ods呢,做了什么事吧,其实啥也没做啊,你要说没做也做了对吧,他其实就是保持。
03:15
数据。原样。啊,保持数据,或者说大家喜欢用的是原貌,对吧,在离线收藏当中,我们用的是原貌,不做任何修改对吧?啊不做任何修改,那我们其实呢,呃,由于数据源有行为数据跟业务数据两个,那我们就对应的两个主题,一个叫ods base lo主题,另外一个呢,叫ods base DB。对吧,两个主题,那其实关于ods你要知道的就掌握的这些东西就够了。对吧,啊,但是我写出来比较少啊,实际上像这个对比啊,特别是对这种对比,还有架构对吧,都是非常重的一块啊好,那第二个。
04:03
DWD和DM,首先我们说对于这个我们也分开来看啊,行为数据。这个我们要分开来看啊,和业务数据两块。对吧,行为数据呢,咱们是。都是在DWD层,而业务数据呢,是DWD和DM层,对吧,和DM层,那这个DWD呢,依赖于我们的卡卡啊,而这个DW呢,同样的也是这个卡夫卡啊,这个你要清楚,而这个DM啊,依赖于我们,或者说我们直接写写到位啊叫Phoenix。对吧,首先位置你要清楚啊,那接下来就关于这个具体的就是业务逻辑了,我们要关心一下他具体怎么写的,那想想一下我们在行为数据当中做了什么事啊。我们做了什么事?
05:15
还记得吗?我们做了哪些事?上来就分流啊。你一定要细节都要清楚啊,风流,你看向总果然很风流啊。嗯。我觉得此时需要给向总刷一波鲜花,大家觉得呢?人家把自己的风流都暴露出来了,我觉得可以有一点领悟啊。对了啊,第一件事情呢,注意过滤数据。过滤脏数据对吧,因为我们说了在第一层不做任何修改,那这个做脏数据过滤,那我们采用的是测输出流。
06:08
测殊流对吧,给它保存下来,未来呢,可以根据这个脏数据看一个指标叫脏数据率啊,我们可以得到这个脏数据率。好,这样东西,这第一个啊,第二个新老用户校验。新老用户校验,那我们想一下为什么要做新老用户校验,主要是前台校验不准对吧,有可能不准啊,不准体现在哪呢?你说新用户哎,他不准。那么第三件事情就是分流啊,就是分流,那分流呢,咱们也是用的什么叫测输出流吧。测输出流啊,测出流呢,这个地方我们分的是三个流,但是你最好跟如果说真的面试官问到了对吧,你跟离线收单一样,只不过说我们这个一样嘛,你分三个分母一样啊,那有什么呢?我给大家写一下页面。
07:10
对吧,好启动这个曝光啊,我们现在这里边是这三个,但是在离线数单当中还有什么。动作日志。对吧,还有呢,错误日志吧,那你想一下是不是有这五种呢?这五种日志,那你可以说我们这个地方也是分了五种数据,对吧,接下来呢,我们就正常的写到卡卡里面了。写入卡夫卡对吧?啊,那其实就是这些事情,那当然你可以在前面加一个地理步或第一步消费卡不卡,这个就没必要了,对吧,写入卡不卡啊好,那这块呢就搞定了,因为这边我们写了一个工具类嘛,啊那这个是行为数据,那业务数据里面呢,我们做的事情啊,它就复杂一点了。对吧,啊,那第一步咱们也可以说过滤脏数据,当然其实没必要,对吧?啊,过滤不是脏数据啊,我们是过滤数据。
08:05
我们确实过滤数据了,我们把这个什么。过滤的是删除数据吧,删除数据过滤掉的啊,因为我们有删除,但实际上在生产环境当中一般不会有删除,它一般都打一个标记啊,打一个标记,标记它删除了对吧?好,那接下来第二个呢,过滤数据之后,第二个是不是配置表。创建叫广播流啊。对吧,好,那第三步连接两个流并处理。连接我们的主流和广播流对吧,那连接并处理啊,这边并处理。好,那这里边呢,我们稍微写一下啊,第一广播流数据。广播流数据我们处理的。
09:01
A。BC3件事情对吧,好,第一步。解析数据啊,反复强调这个事情啊,这是你要给面试官说的一些细节对吧?如果你把这种细节能描述出来,那是相当OK的啊,解析数据第二个见表啊,叫pix p尼斯间表对吧?呃,那第三个写入状态。广播对吧,好,那第二部分,第二部分是我们的主流数据。对吧,对于主流数据呢,我们也做了A。BC这么三件事情,好,呃,那第一件事情呢,读取状态。啊都状态判断是否有是否为档对吧,第二个事情呢,就是过滤阻段,第三件事情分流啊,大家在分流之前注意添加think。
10:07
Table不对啊,为了后续处理的好,那这个已经做好之后就已经分流了,那我们就可以分别提取卡夫卡和h base硫,分别写入对应的位置。对应的位置对吧?好,那第五步对于H流。还这边自流,我们是自定义think的方式啊,第六个对于卡夫卡流。对于咱们的卡不卡流对吧,咱们是怎么做的。咱们不是自定义的整个性格,而是自定义了。叫序列化方式对吧,我们自己写的序列化方式,还记得那个叫卡不卡第一次。
11:00
对,自定义了stemal对吧?啊用的泛行的方法没问题啊,其实那总结起来看,咱们在DWDDM当中就做的主要这件事情,好,就做的这些事情对吧?好,那这是ods,这是DWDDM。啊,保留的这件事情对吧,其实你看啊,代码总结起来看就这些,所以你未来在我们的这个你的流程图当中所写的那就是类似于这样细节,所以我中间说了要把空留大一点,甚至核心的地方,你可以把代码也粘过来啊,给自己留个印象,对吧,稍微再看一看啊。
我来说两句