00:00
啊,下面我们来看一下这个2.4 2.4呢叫数据仓库建模,这里写了一个叫绝对重点,你看其他都是重点,那这个叫绝对重点啊,什么意思呢?它确实是整个电商当中的这个啊,这个书商当中的这个灵魂啊,灵魂所在,这个呢,如果这五节你没学会,那基本上你这个书商相当于是白学。啊,因为这里面是这个相当于是理论的一个支撑,你只有有了一个理论的支撑,那你后面才会按照这个理论去把它实践出来,所以说它的重要等级啊,非常非常高,那么来看啊,这个来看啊,这个至少我们要讲两遍啊,至少讲两遍,前面讲一遍,后面我们把这个数据导进来之后,一层一层分析,然后再来一遍,对吧?啊,再来一遍啊。行,那么来看一下哈,首先ods层啊,我们要做什么事,我们一共把数上分到这么五层嘛,对吧,Ods d w DD w SD wt以及ADS。那稍微回顾一下ods层干了什么事呢?叫保持数据原貌,不断任何修改,DWD呢?我们通常只是对它数据进行清洗,进行维度退化,DWS和DWT呢是相当于是宽表是吧?啊宽表DWS是每天的一个聚合,DWT呢是把这个记录事件的一个累积过程,ADS直接分析指标。
01:14
啊,初步有个印象之后,我们来看抽DS,那大家回忆一下我们数据进来之后,比如说进到ADFS的时候存在哪里了。来看一下啊。我这书上起没起啊。洗一下。对,顺便问一下,咱们那个集群都导到你们。自己的VM里是吧,不能工作吗?哎,能工作的同学敲个一,不能工作敲个二。有没有把这个这三台虚拟机都连上正常使用看一看啊,搞定的敲个一,没搞定的敲个二。必须要都能连上啊。你要这个连不上,那你后面不就放弃了吗?那还玩啥呢?
02:04
DB那个跑了,嗯。跑了次啥意思啊,跑了多次啊。嗯。行。这就相当于是在别人的这个基础上进行21个开发啊,这种能力是必须要有的啊,也就是说你能不能看懂别人的代码,看懂别人的集群。你班至少得有一半以上的同学去别的公司,人家是直接有现成的,对吧?哎,直接有现成的,那拿过来你得那能用啊,就是这个道理啊,当然得做这个,呃,细微的改变啊,高博士,哎呀,这个名好啊。这个出生就是博士是吧?这个名字不错啊。好查看一下呀。这边看看那个机群是否正常,同时呢,这个期间呢,我们把这个开度打开啊。
03:02
是吧,这。对,先知道你的数据在哪了哈,把这个搞清楚之后,再决定你要干什么事。行,那我们来看一下我们现在的数据呢,在这个date对吧,这一个目录啊打开,然后gmail gmail呢,里面有一个log,一个DD。哎,Log呢,是有一个叫topic log这么一个主题,哎,这里面分了两天的数据,一个是6月14号,一个是6月15号,对吧?嗯,分别都是拉烛文件,嗯,打开这是6月15号,好,那我们再来看一看这个DB数据库,DB数据库呢,这里面有谁啊?哎,有这个各种23张表和三张表,每张表里面呢啊,也有对应的两天的数据,都是两天的六月14,呃,这里面除了有蜡烛螺之外,还有拉烛螺对应的这个水引文件。啊,数据文件,那思考一下,现在这个数据就在这放着呢,在ad上如何把这个A数据加载到have里面去。
04:00
怎么加载啊?思考一下,你们在学这个have的时候啊,加载数据应该是有七种吧,还几种有点忘了啊,好久啊,至少是五种以上。你说把数据。导入到have里面去,哎漏啊,非常棒啊,非常棒啊,就采用load方式,是不是直接剪切到这个have里面去啊,那这里面要注意一下啊,那你看我这个D,无论是DB还是log,是不是都是这个压缩格式啊。啊,都是拉轴压缩,你看一下,再看一下确认一下,这不都是拉轴压缩呀,那这样就导致你未来在建表的时候,你在还里面建表的时候,你要建什么表,这表必须怎么样。这表述必须得是支持,嗯。压缩的好。舒藏理论第五个舒藏建模,竖上建模,树上建模当中的OD层。
05:04
那OD层我们看完数据之后,第一反应就是我们这个数据啊,啊,必须得支持,比如说ods层建表的时候,要创建支持压缩的表。支持拉周罗压缩的表,这是我们第一想到的,除它之外呢,接下来我们还要考虑,哎,再看啊,再看这个数据。呃,这个数据呢。压缩,除了压缩之外,还有一个特点,你会发现,你看6月14号。6月14号有一天数据,6月15号也有一天出去。那我再来一个六月16,六月17相当于每天一份数据。是吧,哎,每天一份数据,那你这是日志日志数据,那业务数据呢,业务数据是不是这样呢?DB打开这里面仍然也是六月十四六月15。
06:00
哦,那这样的话,就是我们在未来在创建表的时候,要创建什么表呢。创建分区表对吧,创建分区表啊。那好,那我们为什么要创建这个分区表啊,不创建这个分区表行不行呢。因为我们在导数据的时候啊,大家想一想啊,我们在导数据的时候,是不是每天把每天的数据都倒过来,哎,导数据的时候分这么几种策略。分几种车辆呢?导数据的时候。数据分这个全量对吧,嗯,新增还有新增和变化。嗯,把每天的全量或者新增或者新增变化导入到对应的一个分区里面啊,分区里面如果你是这个。全量数据的话啊,全量数据的话,那我后日后再查询的时候,我直接查这个对应这个分区这数据就可以了,那如果是这个新增和变化呢。
07:03
或者如果是新增的。嗯,或者是如果新增的。那你就必须得建这个分区表,如果你不建分区表的话,那你想怎么实现啊,你不建分区表,这就一个目录,每天你过来的数据都把它覆盖了,对吧?都是今天新增的,那历史数据就没了。啊,历史数就没了,所以说你为了保证这个历史数据,那你肯定是多个分区,同时啊,你在查询的时候也避免了我全面扫描,为什么叫避免全面扫描啊,如果说这里面没有日期。没有日期整个一进来就一张大表啊,这个你看不到这个日期就一张大表啊,所有的数据都在这里面,那你查询任何一个值的时候,比如说想查询今天的数据。你是不是得全表扫描过滤一下啊,再查询前一天数据,在全表扫描再过滤一下啊,这就叫防止全表扫描,创建分表的好处就是防止选表。
08:02
那刚才我们为什么要建一个压缩呀,创建拉缩螺压缩的表,首先是因为我们传过来的数据它就是压缩的,那为什么要把传过来数据变成压缩的。哎,是为了减少存储空间,减少是不是为了减少存储空间,我们过来的数据呢,有100G。100G100G每天100G的数据吗?100万日活吗?那100G的数据我们压缩完之后会压缩到多少呢?会压缩到10G左右。哎,这个效果还是非常可观的啊,非常可观的,在个别公司啊,个别公司能加到多少呢?能压到5G左右。有同学怎么压的这个结果还不一样呢,哎,这里面除了这个,呃,压缩本身它会影响你这个压缩出来的这个值之外,还有你像采用列式存储啊,或者你这个数据结构,比如说你接身数据是单接身对吧,单接身数据或者是双接身嵌套啊,各种嵌套。
09:02
它存储之后产生的效果都不一样,都会影响你未来的压缩比。啊,所以说这里面还是比较复杂的,并不是说哎这个100G数据采用蜡烛压缩就一定是十个G,还有一些其他因素的一个影响。啊,个别公司如果说是5G,那也没毛病啊,咱们呢,这个是100G压缩到10G,是其中一个,呃,洋葱数学啊的一个老师,他们公司呢,是100G的数据,压缩完之后正好是10G左右啊是这么一个情况啊行,面试官问你说我们公司五个G,那你这不对呀啊,这时候你要跟他解释一下啊啊。拉压缩创建分级表啊,这是导数据的时候。OK,那还做了什么事呢?ODS层,哎,他其实还做了一件事,叫保持数据原貌,原貌不做任何修改。同学该诧异了,说你这啥也没做,这怎么还放着做一件事呢?嗯,之前咱已经说过很多次了,因为不做呢,其实也是做了,他做了什么事啊,叫起到了一个数据备份的作用。
10:08
起到。数据备份的作用,嗯。OK吧,这是我们ODI层数仓建模要做的事情,创建拉烛压缩表,创建分区表,哎,保持数据源报,不做任何修改,不做激活,修改的含义呢,就是在这一层,我们不要解析。就不要解析数据。所谓的解析就是不要解析,把这个数据啊,每一个字段都解析出来啊,不要解析就可以了啊,原封不动的啊,打到下一层,在下一层的时候对它进行处理就OK,嗯。
我来说两句