00:00
我们来整体的分析分析啊,咱这个阿斯卡文去进行这个调度的时候,我的这个这个从头到尾的这个这个工作流程,以及那个work flow应该长什么样,咱们来看一下,呃,画个图吧,咱们这边用这个小笑脸画个图。这个非常呆萌的这个小笑脸啊,来咱画个图啊,呃,那这边呢,我们呃去画图的时候呢,呃,我们就把那个work flow咱们给它画出来就行啊,来input。挡住了,咱就要这个,然后呢,我再来箭头,嗯,来箭头,OK,咱就用这些东西就够了啊好了,那我们现在呢,去呃开始去做咱们这边的这个这个work flow,那首先咱们这个得回想一下啊,咱们得从头到尾去捋这个东西啊,得从头到尾捋,那咱们最开始,呃呃,最开始是什么?是导数据,也就咱们那个数据同步对不对,那咱们数据有俩来源,一个是DB,一个是log,对吧,那log我是用什么往HT上传呀,是不是用flu传的呀,那flu它其实是实时的采集,就是说它能够每天自动的把数据呢,放到它对应的那个HTFS那个路径上边,对不对,一天一个路径,一天一个路径,所以说这个flum呢,我们是不需要交给阿斯卡巴去调度的。
01:16
对吧,那这个scoop呢,咱们导那个业务数据的scoop,那scoop它是不是得得那个让这个阿卡去调度啊,我们scoop导一次是不是只能导一天的,它不能自动导对不对,那也就是说我们死库本需要去交给他,那第一个应该是谁?应该是咱们那个,咱们就用脚本的名字写吧,脚本名字啊,咱们第一个应该是谁,应该是这个叫做my circle吧,Ma SQ my circle。叫to,这个HDFS,这是我们要调度的第一个任务,对不对,那第一个任务我们拿过来之后,下边该谁了呀,下边该谁了,是不该谁了,下边是不是就应该是,诶咱们需要将业务数据从哪到哪HDFS的路径到咱们的ods吧,对不对?Ods,那当然这是我们的DB,这是DB对吧?那log那边咱应该直接从哪开始就行了,Log那边呢,咱是不是直接从这开始就行,就直接hdfs to ods,然后后边直接log。
02:18
对吧,因为咱们那个数据呢,是鲁帮我们传到HTFS上,所以咱们就直接这么调就行,那这边我我画箭头啊,那要不然一会就乱套了,换箭头来,那这个放在这个位置,那它呢放在这个位置。呃,箭头呢,我得调一下方向啊,这个左箭头给它干掉好,那这边呃,然后再继续往下走啊,那这它跟它之间有依赖关系吗?是没有依赖关系的,所以咱不用考虑它,那咱们就直接往下走就行,咱直接往下走就行啊,那下边该谁了?往下走下边那对于日志来说,我们日志啊,大家要注意啊,咱们日志咱们是不是那个有有几个脚本,咱们日志,咱们日志呢,脚本比较多哈,呃日志呢,我们因为我我分了,我们分成了两种日志,一种是启动日志,一种是这个,呃事件日志对不对,那我们先说启动志咱们是怎么做的啊,那启动日志呢,我这边应该是从诶ods层。
03:12
到这个DWD。DWD,那这边呢,有一个start log对吧,那也就是说在这呢,需要一个这样的一个,诶一个工作节点,咱们给他拿过来,嗯,放在这。OK,放在这个位置啊好了,那这个他完之后呢,我们日志这边呢,其实还有一个,还有一个任务啊,还有谁还有一个事件日志呢吧,咱还有一个事件日志啊,所以说这呢,我还得再调整一下好,那这个CTRLZCTRLV,那这边呢,我们来一个事件日志,事件日志那咱们解析事件日志的时候呢,我们其实分了这样的两两步去完成的,对不对,那咱事件日其实这么这么去做的,Evet event,那其实咱这边啊,我们是怎么解析的,事件志还记得吗?先把事件日志是不是解析到了一个中间表,然后再从事件日志当中,再从这个中间表里边去取数据,然后放到不同的这个事件当中,对不对,咱是不是应该是这么去做的呀?就是这边呢,咱还得再来一个那个脚本名字,我看咱们之前那个,之前那大海老师那个脚本是什么名啊,我得看一下,可能那个脚本的名字不一样。
04:17
呃,我去瞅一眼啊。那脚本呢,应该都在大家这个B目录里边,都在B目里面啊,来CD到这个B目录。我看一下啊,这边啊,咱们叫做这个,呃,Ods to dwd base log对吧,这应该是它那个,诶中间表,那现在呢,我把这个复制过来,这个放在咱们这个位置,这个图呢,咱们给大家捋一下啊,OK,放在这,那完了之后呢,我这仍然需要一个这样的一个箭头。来。拿过来这个放在这好,那他完之后呢,他下一步干谁了,下一步呢,其实就应该是咱们那个往事件日志表里边去导数据了吧,对不对,那这边呢,叫做应该叫做event。
05:01
一为D1问他,那这个从上到下是有这个依赖关系的。对不对,是这样的啊好,那现在呢,我们的任务诶基本上就诶到这了,那也是咱们现在呢,呃,数据呢,已经日志数据啊,日志数据已经都到了DWD层了,都到DWD了,那同理咱们业务数据是不是也得往DWD走才行啊,那这时候呢,我把D俩东西我给它粘过来,CTTRLCCTRLV往下拉一下,那这边应该是从ods到dwd ods,然后下划线to DW d,然后这边直接DB是不是就OK了呀?那这是到这了,那到这之后,那接下来咱们应该干什么呢?接下来是不是应该把数据从DWD往DWS里边去导了呀,对不对,那DWS里边呢,咱们应该是只有一个脚本啊,只有一个脚本,那就是应该是DWD,然后下划线two。To d ws,然后呢,呃,就完事了,咱们这边的日志跟这个业务数据咱们合并到一起了,并没有分开,这次没有分开呢,那现在咱们就统一的给他拿过来跟这C。
06:03
那要注意啊,呃,这边什么时候才能去执行这个任务,是必须得等这个到DWD,这个到DWD,这个也得到DWD,也就是他们都到DWD之后,我是不是才能往DW层导,所以说呢,这个任务呢,其实应该是依赖于我们这三个的啊,依赖于这三个的来给它画一箭头,那这边呢,CTRLCCTRLV,诶咱们这呢,画一个箭头拿过来,那这边呢,还再来一个箭头,诶点错了啊。CTRLCCTRLV来拿到这。OK,那这就是咱们往这,诶我这少了个箭头是吧,给它补上CTRLCCTRLV。不在这个位置。行,那到现在为止咱们数据呢,已经到了DWS层了,那到DWS再往下,其实就就简单了,是不是啊来CTRLCCTRLV往下拉一下,那这个应该是呃,箭头画短一点吧,然后该谁了,该这个DWS到DWT。DWS,然后呢,再往这个DWT。
07:02
DWTDWT啊好,那这个数据呢,咱们就到DWT,那最后呢,还得往哪走,还得往这个ADS层走才行啊,往下走这个应该是呃,DWT下划线,这个to ADS是不是就到这个位置了呀?那再往下最终到as的候是没有结束的啊,大家要注意我们数据要导到哪,要导到MYSO才行,或最终呢,还得把这个数据呢,给它扔到MYSQL里,CTRLCLCTRLV,那最后最后呢,我们数据从H从HDFS是不是得到这个MYSQL啊,那这个从HTFS,到MYSQL怎么去导,这个大家应该还不知道吧,这个需要用到什么,需要用到我们的这个scoop。需要用的scoop啊,那我们scoop其实它是一个双向的啊,就是既能把关型数据库数据呢导到HTS,也能把HT数据呢导入到我们的关系数据库,它是一个双向的,都能导来回导,那这边咱们往买斯克去导的时候呢,需要用到scoop。OK,那这个呢,就是咱们现有的这个书仓当中的这个,呃,整个的一个这个work flow,一个work flow啊呃,当然这个work flow呢,其实看似简单,看似简单,看简单是因为什么啊,其实它看似简单是因为呃咱们把这个呃好多个表,把好多个表这个导数据的任务呢,封装到了一个脚本当中。
08:17
对不对,你比如说从DWD到DWS啊,我们这其实有好多表,但是我我用一个脚本去完成了,对不对,那同理下边这些东西呢,我是不是都应该是好多表啊,都是好多表,那所以说这个咱们就相当于看似就简单了,实际上我们呃正常的这个使用阿斯卡曼的时候,大家最好怎么去做呢?就最好应该这么去做啊,就是说你一个表写一个脚本。就是尽量的一个表一个脚本,一个表一个脚本啊,就不要是不要去把什么,不要去把这个咱们所有的表就是一层这么多表都放在一个脚本里,这样做其实不太好。这样就不太好啊,就大家以后呢,在实际的开发过程当中,尽可能的要把这个多个,就是每个表放到一个脚本里,每个表放到一个脚本里啊,那也就是说,如果说咱们这真正的去把一个表放在一个脚本之后呢,那这个work flow呢,最终那个效果可就比这个复杂多了,对不对,那表呢,会很多表会很多。
09:14
是这样啊,所以说大家呢,这会要留意要留意啊,好,那咱们现在既然已经把这个脚本都写好了,那我们就还按照这个来吧,按照这个来,而且咱们数据量其实也也不多,也没有什么,也没有什么影响啊,好了,那这个就是咱们这个整个的一个规划,那一会我们要使用阿兹卡班去做的时候呢,诶,咱们就基本上会实现一个类似这样一个效果图,好了,把视频录一下,我们分析完了啊。
我来说两句