00:00
好,那我们第一个ods层,Ods层呢,实质上是一个什么采集模块。对不对,非常采集模块啊,那咱们呢,注意啊,呃,并不是你离线数量采集拿过来直接用啊,那我们至少没有去问那个对差。对他差是没有用的,对吧?啊,我们用到的什么东西呢?From。对吧,而且呢,仅用到第一层的,注意啊,对于整个采集模块里边,第一层是我们用到的,对吧,第二层跟我们实时数仓没什么关系。没毛病吧,他呢是负责采集。日志数据的啊,那这里边所涉及到知识点,其实我们前面复习from的时候已经复习过了,呃,Tell。Kava China。对吧,包括你在聊这个的时候,Source有什么问题,对吧?那所以说我们之前所讲的那些框架,包括优化组件这些东西,那你要注意,在你说项目的时候,你要把这个东西聊清楚。
01:06
对吧,比如说大家有听了海哥那个串讲的视频吗。是不是又通过一个项目作为我们这个逻辑线,把所有的框架,我们所复习的内容给你串了一遍,你有没有发现听了的同学是不是注意到这个点了,对吧?好,那你给人聊项目,你刚开始肯定要聊采集,采集呢,我们用到from对吧,我们用到T,用到卡China啊,没有用single,为什么。对吧,节省了。一层think对吧,效率更高啊,那T加source呢,有哪些问题,我是不是可以主动提出来,我是怎么解决的,到底是改源码解决的,还是跟Java商量说你改一个框架去解决的,那这些东西呢,都可以说包括什么呢?那我之前在用form的过程当中呢,还用到刚刚量进行一个监控。对吧,那主要监控的指标有什么什么什么,诶可以帮助我们得到什么样的结果,这就是说项目的一个思路,就是你说项目,项目呢是有数据流的,有这个分层对吧,一层一层到每一层怎么做的,那有这个数据流,你把它串起来,那数据流要框架去实现啊,那你顺带着是不是把框架的知识点都能够延伸出来,对吧,特别重要的做过哪些优化。
02:22
对吧,很重要。发现了重复数据不好发现吗?那你看你呢。你发现这个数据量完全不对啊。重复一份,整个的完整的重复一份。就你的数据量double了一下。这个很难发现吗?对吧,嗯,就是对于公司来说,总体上有多少数据量,你心里大概的。肯定有点数吧,对吧,然后整个double了一下,怎么可能发现不了呢。你看结果就能看得出来呀。
03:00
看文件大小,呃,不用看文件大小,你就看结果呀,你不算了,有很多指标的结果吗。对吧,你结果肯定不对呀。比如说财务那边也要算金额,你也要算金额,你的金额跟财务一对,哎,正好是他的两倍。对吧,因为数据没丢嘛,没丢的话正好数据,呃,比如说那个日活呀,或者什么样子登录的,或者说呢,你跟这个离线离线跟这个实时对比对吧,那发现离线这边呢。就是行为数据的这边整个的怎么样,Double了一下。你不是发现问题了吗?因为你公司当中就是未来我在离线收仓这边会讲啊,要讲那个数据质量管理。啊,会给大家提提,虽然我们项目里面没做,但是会给你提,你肯定要对这个数据最终计算出来这个质量做监控了,对吧?啊这个意思,你你这个数据double了一下肯定能知道的呀。你整个double了一下对吧。
04:01
好,那这是我们用的第一层的啊,那么之后呢,是业务数据,咱们用的是Maxwell做采集的啊。对吧,那这边至于咱们为什么没有用这个弗CDC,原因很简单,因为在公司当中开发的时候,他一定是先有这个离线出仓,后有这个实时数仓,对吧,那当开始呢,你在几年前开发这个。别人输仓的时候呢,这个弗link或者弗link CDC根本就不火,那时候弗Li CDC可能还刚开始呢,刚起步呢,对吧,那那时候就根本就没有考虑用的mal,但后来没换,当然有的人说我后面把这个整个的采集换成了弗Li CDC可不可以可以。啊,可以。能懂吧,啊好,这是采集啊,采集没什么好说的,第二个DWD。对吧?啊,那DWD呢,这块内容肯定跟DM加在一块儿,它得要有一个维度建模理论的一个支撑,对吧,但是呢,维度建模这个东西,包括指标体系建设这些东西呢,大家都是在离线收仓里边学的,所以呢我呢还是放到离线收仓里边给大家去复习。
05:18
你放在这儿呢,你觉得诶很奇怪,好像跟之前学的东西关联不上啊,没关系,我们呢还是结合离线输仓去聊,这样的话最大程度的还原你们当时学习的场景,这样大家捡起来也会更容易一些,所以这样呢,我们就不聊什么建模了,我们只聊这里边儿我们做的事情。对吧,重点的内容给大家梳理一下,就未来人家问你,诶,那你当时怎么做的,这个需求有什么难点。对吧,我们要聊这个好,那这里边呢。未经加工的一个表。对吧,好,那首先呢,我们这里边儿用到的内容呢,就是测。输出流。其实就这么一个核心的知识点对吧,当然也用到状态变成做那个什么新老用户校验,大家还记得吗?Is new标记对吧?啊,那你可以写状态变成。
06:08
嗯,新老用户在。测数流。分流对吧,用测流分流好,那日活里边呢,用到了状态电脑按天去重对吧。啊,注意这里面引入了一个新的知识点,叫T点。是不是对吧,T点在这引出来的,而跳出咱们用的是CP来实现的。跳出明细用的是CP来实现的。对吧,好,那业务数据。业务数据呢,注意这边呢。咱用的是什么?Data。
07:00
而这用的是link。Circle啊,当然你要是呃可以说统一的都用的Li so也好,或者说用的这个呃都用的都可以对吧?当然用data呢,就会麻烦一点,因为这里边涉及到draw啊,那这里边所涉及到的核心的知识点有哪些呢?那弗Li circle无非就是什么draw。对吧,最核心的一个关键字就叫,那我们讲过有哪些join呢?我们想一想,首先是data stream的window draw。当然我们虽然没有怎么样去写这个代码,但是大家看了一下,然后呢,是data STEM的状。In,然后是弗link soer里边的普通的。Draw。啊,然后left join。以及。
08:01
对吧,还有比较特殊的叫。想一想啊。Look up。Join。对吧?啊,Look up join好,那由于我们使用了left join,所以呢,未来是一个撤回流,那会导致我们又引入了一个新的内容叫upset。卡不卡对吧,我们其实在DWD层业务数据里边核心的点就这些就是最重要的,就掌握了这么多的一个。Join啊,当然这几个join之间,我们每一个都做了对比,无非就是说左表跟右表,它存储状态时间的一个。不同。对吧,啊,然后呢,用join做了一个维度退化,这个过程呢,我们叫维度退化,对吧?啊维度退化的能够做维度退化的这种维度呢,它呢是单个维度,它没有关联维度,比如说SKU puu trademark keg这种就不行,因为它关联维度太多了。
09:10
对吧?啊,那我们适合做的就单个且呢,数据量相对来说比较小啊,数据量相对来说比较小一些,那我们可以做这个维度退换,那这个是DWD层咱们所聊的一个事情。对吧,诶就这些东西你看啊,我们写那么多代码,因为你到最后代码我都是粘的,我只讲了几个是不是未来,后来全都是直接分析一下需求都粘过来啊,因为你会发现你把最核心的点抓住了以后。需求在变化,无非就是数据的格式在变,就是你加工方式稍微有一点点变化。但最根本的。还是在这儿,他的宗在这对吧,万变不离其宗,就在这儿,你要抓住最根本的,你要会了这个东西,你需求变,你只要掌握了业务,对吧,他应该要你怎么做那。很简单。
10:00
啊,很简单这个事啊。
我来说两句