00:00
好,接下来我们来看一下数据仓库的概念。数据仓库英文名称data warehouse,哎,也就是用来存储数据的一个大的仓库是吧?哎,这样理解,那它是干嘛的?为企业制定决策,提供数据支持的,也就说一个老板呢,在决策之前,他不可能是拍脑袋的,他要根据公司目前的运营情况,一些企业数据,然后才能做相关的决策,是这样吗?哎,对,那这个数据仓库呢,可以帮助企业改进业务流程,提高产品质量。那我们来看啊,这比较抽象,看一下书,那你要分析一个仓库,那我们要从哪几个方面来研究它呢?哎,我们从这么三方面啊,分别是数据仓库的数据哪来的,在数据仓库里面做了哪些事,最终数据仓库的数据给谁用?哎,从它的输入端,正常的业务处理以及输出这个角度去统计好,那我们数据仓库的数据来源,目前业界主流的有这么三样,分别是爬虫数据,用户行为数据以及业务数据。
01:14
那像这个爬虫数据啊,你看标的有点有点虚是吧,有点虚,有点像这个波波老师啊,这个身体比较虚,需要不会点还有人玩,那这个爬虫数据建议大家呢,尽量不要去接触啊,不知道大家去年有没有听过一个新闻,哎,某一家金融公司的程序员爬取这个,呃,某公司核心数据,然后呢,嗯,集体的进入了监狱。就说典型的面向监狱编程是吧,哎,前面是多少这个下半生的一个幸福没了啊,非常这个遗憾啊,嗯,好,那再往下看用户行为数据。这就用户来到一个网站,跟这个网站或者客户端相应的一个交互产生的数据,哎,它往往存储在日志服务器。
02:02
对应的以文件形式存储的,它是以文件形式存储好,那下面呢,还有一个业务数据。那业务数据存储在哪里呢?它存储在Java后台买circleq对应的数据库里面,哦,你说这两个数据啊,存储的地方不太一样,一个是以文件格式存在,一个是以MYSQL数据存在。那好。那既然两种数据的存储格式不一样,我希望呢,将用户行为数据和业务数据都导入到数据仓库里面。格式不一样,你处理的手段就不一样,那我们专业的处理日志文件是用哪一个框架呢?就是专门用来处理日志的,哎,直接可以实时的采集日志文件,把它上传到数据仓库里面。那业务数据它存储在MYSQL里面,我们可以每天凌晨结束之后,比如说比如说今天呢,是2020年。然后6月14号,6月14号,那么今天我6月14号这个凌晨30分吧,哎,凌晨30分,那我能统计哪天的数据呢?哎,我能统计2020年6月13号的数据,记住它是T加一模式统计的是前一天的数据。
03:18
比如说前一天这个用户所有的事情全办完了,产生完数据,然后我来集中分析,它跟这个用户行为数据还是不太一样,用户行为数据呢,是产生一条分析一条。哦,这个要理解一下啊,啊,后面我们还会有详细的一个说明啊,别着急,先有个印象,接下来数据呢,就进入到了这个数仓啊,进行数据分析,那乍一看这是这是什么是吧?哎,这个五个单词的缩写,乍一看是这样,什么OD s DW ddw sdw tads,那他们分别都是干什么事的呢?思考一下,那大家给大家出这样一个问题,如果数据进来之后。
04:00
进来之后,后面这些层级有任何异常,发生了故障,或者说数据有要求要重考。那重跑的话,如果你从这一层就开始这个解析正常的使用。那它最原始的数据没有了,那你怎么办?你只能从这再重新导一份,这再导一份,然后进来。那么这个时间就太长了,那通常在企里怎么办呢?哎,在ods层我备份一份数据进来之后,我什么事情不做,就往这备份,然后再往后面在这一层解析解析解析。起到一个备份作用啊,防止你后面任何一层发生变化,我这边呢,有起到一个安全可靠的作用,那再往后走到了DWD层。再分析一个场景。如果你传过来的数据。核心字段不完整。或者说有一些重复数据。有一些过期数据。那你怎么办?我是要把这些脏数据过滤掉啊,哎,那这里面这一层呢,就是负责数据的清洗,当然它还有其他一些事情,一些数据建模啊,啊,维度退化呀,哎等等,我们在后面给大家详细讲啊,你简单了解一下一些脏数据,到这一层我必须把它干掉,这样后面在统计分析的时候,我就不用考虑张数据了,对吧?
05:20
哎,OK,那再往后像这个DWS和DWP这两层呢,属于聚合成,哎DWS呢是按天进行聚合的,也是这个用户这一天干了什么什么事。啊,这一天,那还有这个DT呢,是累积发生的事情,比如说这个用户啊,从注册。开始一直到新,在这一天结束,他累计干了什么什么事,比如说举个例子,这个用户啊,从去年十暂开始注册,一直到今天,他累计下单了50次。对吧,哎,是通过DWT层来进行统计,那再往后走,后面呢,这个呢是ADS层对应的指标,也就说老板每天关心的类似于流转继复活相关指标。
06:05
那现在这个我说的流转激活呢,你可能不太理解那么简单,简单解释一下,日活就是用户来到这个网站的活跃用户有多少。对吧,嗯,然后留存率。来到这些用户,哎,他是新注册的,那么。未来它能够留存下多少天对吧?啊,一直在多少天之后还会能够持续登录,然后转化率。这个用户下完单之后,有多大的概率会进行支付?对吧,不是所有下单的用户他都会让他支付吧,哎,这是一个问题,行,那这是相关的问题,我们后边会统计,那总之呢,这个ad的指标啊,是给领导看的,那通常我们输出到叫报表系统,那你给领导看的指标,你能在就是在这个还有那个客户端窗口上让领导去看吗?让领导去敲一行命令,说我要看一下今天的日活是多少。
07:00
是不是不太现实啊?领导希望看到什么样的效果呢?他是不是喜欢看到这种?哎,柱状图看到这种折线图变化趋势是这是他想看到的,哎,所以说我们需要把我们这里面分析完的结果数据以报表的形式展示出来,让领导看到啊,这就是报表系统,那除了做报表系统之外,还有什么呢?还有对应的用户画像系统,那这个用户画像系统有什么用啊?哎,思考一下,哎,波波老师你看啊,波波老师呢,每天喜欢凌晨就12点,晚上12点。出去嗯,上夜班去哪上夜班啊啊去三里屯对吧,哎,三里屯上夜班啊,三里屯的VIP,然后呢,早上五点多回来。哎,这样的话,我就可以给他打一个标签,说波波老师是一个夜生活工作者。对吧,哎,这就是画像啊好。那上一个系统啊,已经给波波老师定位上说是一个夜生活工作者。
08:03
那我们后期对他进行推广营销的时候,就可以推荐一些他喜欢的商品,比如说一些手纸啊,对吧,一些面膜啊,诶等等这些商品给他推荐,那他肯定喜欢。啊,所以说推荐系统是干这个事情做的,那再往后我们这个输仓输出的数据还可以给谁呢?还可以给对应的机器学习。机器学习要想算的准。它这个算法的输入数据必须要数据量大,而且要准确。那谁在给他提供这些准确的有海量的数据呢?由大数据俗成来提供,那现在呢,你可能这个机学习啊,你感觉到它还没有完全真正的火,什么时候能真正火呀,5G真正的落地,今年可以认为是5G的元年,明年后年会很快的金学一爆发,因为5G真的来了之后,每秒钟能够下载10G左右的数据。想想这个数据量传统的Java根本是存不下的,那么对这个机器学习会有极大的一个促进作用啊,所以说大数据机器学习会非常非常火,那机学习火的前提是大数据的火,因为你每秒钟这么多G的数据往哪存呢?你是不是得存在大数据数仓里面,处理好之后为这个级别级提供相应的数据。
09:21
啊,所以说大数据必活哈,那再往下,哎,这是输出的这些系统,那这边再思考一个问题,说我这些数据啊,说用来采用行为数据,用SC来导业务数据,然后进到受仓,一步一步的,那这一步一步的像工程,像这个工厂当中的流水线。那么你是手动的一步一步去执行这个代码吗?不可能吧,不可能,那你的手速得多快呀,是吧?波波老师也没有这么快呀。那怎么办?是不是我希望是自动化的调度,也就是说我不需要去手动,哎,知道它完成OD成就要进入到DWDDWD完成自动执行DWS。
10:01
是不是相当于是一个自动化流水线做到这种,那怎么做到呢?哎,就有一个框架叫阿兹卡班,它就可以帮我们实现,那当然咱们在学习linu的时候,是不是有一个定时调度的任务啊,叫c table啊。对吧,哎,当然了,那个是比较low一点啊,那在企业里面呢,通常用的是阿兹卡班,这也用的比较多一些,当然还有一些什么乌Z啊,啊,Air尔low啊,哎等等,还有什么DS相关的一些框架,那主流的呢,这个阿卡班算一个。好,这是整个数据仓库,它的数据输入源啊,然后中间做了哪些事儿,最后去了哪这么一个过程,数据仓库。
我来说两句