00:00
好,那接下来呢,我们就往下一层去开发了,对吧?呃,下一层呢,是我们的DWD与dim层。那我们先解决DM层,因为DM层呢,它只涉及业务数据,而DWD层呢,既有业务数据又有日志数据,对吧,它有两部分啊,所以呢,它的一个表会更多一些啊,第二层呢,相对来说逻辑会单一一点。只有业务数据嘛,对吧?啊,假如说你搞定了一张表去处理,那其他的都一样,对吧,我们就基于这个来思考,好,那现在呢,我们的我们想一下数据在哪对吧,我们就根据这个维度建模理论,然后呢,把这个数据存储到h base,当然呢,其实本质是Phoenix。本着Phoenix,因为它可以写S去访问对吧?好,那我们就思考这关于这个DM层的一个问题啊,D层对吧,我们稍微的写一点笔记啊,先不看这个文档啊,因为文档呢是按照出书的标准来的,他上来呢就准备了很多东西啊,大家呢,可能不太理解啊,就是你预习看文档可能不太清楚,我们呢是从需求分析的角度来做的啊,那首先我们数据源在哪,就是我们的维表数据在哪个地方,大家告诉我。
01:24
数据员。对吧,我们的数据源在哪。想一想我们的维表数据,我们有很多的维表数据,对吧,有用户省份商品啊,特别商品里边更多商品里边有一个什么。Ku puu k category 123。啊。呃,卡夫卡topic DB啊买克应该是卡夫卡吧,我们已经采集过来了,对吧,数据源呢,在我们的卡夫卡里边对吧,然后呢,属于咱们的这个叫topic。
02:06
DB这个主题吧,啊,而且呢,它包含注意啊,它包含这个所有的。业务表,因为我们已经把过滤干掉了,对吧,昨天让大家把麦那边的filter给他干掉,所以呢,现在我们topic DB里边有我们所有的业务数据,当然包括我们所需要的。微量。对吧,啊好,那我们现在是要将维表数据要写到。Phoenix。或者说挨着base对吧,那很明显这里边我们要做一个什么事了,我写到这个为止,这这里边儿很明显我们要做一个什么事。
03:04
就是说他当前这个topic DD里边包含所有的业务表。而当前我们是什么业务啊,我们要做的事情。是取出dim层我们的维表数据,把它放到h base或者PX。对吧,哎,对了,没毛病啊,就是说我们很明显要做一个什么。过滤这个应该能想明白吧,我们很明显是要做一个过滤对吧,过滤啊,第二过滤。过滤是干什么呢啊,过滤出啊果粒成了。过滤出。需所需要的。尾表。数据是吧,啊,第二步肯定是做这个过滤啊,那第一步数据源卡夫卡,那么弗林格它本身就有这个卡夫卡的一个连接器。
04:03
对吧,可以直接去读取数据,然后呢过滤。啊,那过滤好以后。最核心的第三步,干事。第一步读取数据啊。读取数据对吧,第二过滤数据。好,那第三步我们要做什么事?那你已经过滤出来了,是不是应该将数据写出啊?对吧,那就是写出数据吧,好将数据写出到呃,Phoenix对吧,那其实这里边呢,最核心的就是这三步对吧,那第一步不用多聊,这个东西呢,我们之前学习的时候已经写过太多了。就是连接卡夫卡去读取数据对吧?啊创建一个烟V,然后读取数据,这个呢比较简单啊好,那关键在于第二个过滤,那也是很简单呀,过滤我用菲奥特派,然后呢,把我要的这个表我写上,好那目前来说呢,我们就想到过滤数率。
05:06
应该也挺简单的,用了一个filter。对吧,用一个filter,然后呢,把我们的数据呢。过滤出来就行了,好,那这样的话,我们是不是相当于在。代码里边把我们要的数据给他写死了,这样好不好?对吧,过滤本身确实比较简单,那我们用一个filter,比如说我里边有46张表,对吧,这个呢,包含所有的46张。我们现在是46张对吧,46张业务表,但是可能我们要的为表就这么十几张,对吧,那这边呢,过滤条件。写什么过滤条件给定对吧?啊,在代码中加给定十几张啊。
06:00
为表的表明,我们就根据表明来做过滤,是不是就可以了?这样能理解吗?就是我们先不想复杂,先一点一点的来讨论这个需求,OK吧,对吧,这需求就是这样的过滤。有没有问题到这块为止,有没有问题用一个filter对吧,判断这个表明啊,或者说我们直接给一个这个集合对吧?诶看你在不在这个集合里边,你的表明在不在集合里边,如果在那就保留,如果不在,那就这个数据我就不要了。OK吗?这个OK吗?就是这边呢,我可以再搞一个集合对吧,然后呢,把。表明到里边去做校验。好好。那我们再稍微思考一下,这种好不好呢?
07:04
对吧?啊,可以去想一想啊,我们先就这样,先就这样,大家呢,有个悬念去想一想啊,那最后写出数据,写出到Phoenix Phoenix呢,它是不是一个JDBC的访问的方式啊。对吧,那我们之前好像学习过一个叫JDBCS对吧?啊目前呢,我们也不知道能不能用,但是呢,就是我们印象当中可能有GDP think,那实在不行,我们是不是还有自定义think呀,对吧?好,那写出数据呢,咱们首先有这个GD。官方自带的JDBC对吧。嗯。啊,实在不行,我们还可以什么自定义,自定义think,那我们肯定在这两个之一,肯定能把这个写出能搞定对吧,那其实这个需求呢,就是这样。
08:00
第一个读取数据,第二个呢,你要过滤出你要的这个维表信息,那为什么要过滤,很简单,因为我们。Maxwell那边没有做过滤,它里面包含的是所有的维表,所以这你就得写过滤了。对吧,好,那第三步呢,你过滤好你想要的数据,最终呢,把数据给它写出去没问题吧,这是我们整体的一个需求分析啊,就是这个需求呢,其实本质来说它就是这样子的东西。没毛病吧,好,那我们把这个先解掉,这是最基本的一个需求分析啊,我们先搞清楚。
我来说两句