00:00
来吧,同学们,我们把这个ADS层和这个所有的表都建完了啊,都建完了,然后我们开始,呃,把这个数据给它去导一下啊,那拿开打开这个7.7这一节,这边我们准备好了这个ADS层的脚本了,其实ADS层的脚本呢,也比较简单,我们需要去区分什么首次导入和末次和和那个后续重复导入吗?不需要吧,咱们说每天就是往ADS层导入一条或若干条数据啊,对不对啊,其实这个相对来说比较简单,呃,也就是说咱们纯粹的就是把ADS层这20张表,它这个circle给它放到一起,然后统一执行就行了,然后把里边该改的时间给它改了,然后呢,该改的那个,呃,这该加表名,该加库名的给加库名,主要就是这么多,然后这里边其实有一个表,我需要特意的强调一下,哪个表呢?嗯,我们搜一下就是那个留存啊,留存这个我们需要看一下啊。为什么要给大家看一下这个留存啊,因为留存这个需求啊,大家会发现啊,在这里边日期是不是比较多呀,对不对,甭管是用咱们文档上那种写法啊,是用这个三个子查询进行union对吧?还是用我这个自己写的这个啊对不对,这是不是都是有好多日期啊,对吧?那我们往里放的时候,你说这个日期咱们怎么处理是比较合适的呀。
01:16
对不对,你看之前你比如说做新增,新增就一个日期,直接替换成date是不是就行了。嗯,但是咱们这这个它就不行了,这个怎么办。这怎么办?你说这东西是不是得往脚脚本里写,这些东西是不是都得换,用刀都得替换什么的,对吧,怎么处理啊,大家说。找规律呗,对不对,找规律你你别管有几个日期,他就有十个日期也好,有二这个也好,你就只管认准谁是到时候do date就完事了,对不对,谁是道数啊,咱们这。是不,这是那个Dollar do date啊,说咱们规定我们是以18号为例,对吧,这是我们18号的计算任务,所以说17号是Dollar do date前一天嘛,对吧,那所以说咱们这是不是所有的17号都改成Dollar do date,然后其余的呢。
02:03
是不是都以Dollar do date为基础进行加减操作呀,对不对,诶就把这个原则记住就行了啊,你包括上面其实也是一样的啊,这么多日期我就认准谁是Dollar that就够了啊,这是大家需要注意的点啊行,那这个呃,说完那ADS层呢,就没有什么需要注意的事儿了啊好,那我们把这个整个的脚本呢,给它复制出来,呃,然后呢,放到我们的这个这个服务器当中,我们去执行一下来往下拉啊。往下拉往下拉,这还是有点多的啊,来放在这CTRLC啊,那现在呢,我们打开这个102的这个叉叉L进到并目录,哎,咱们VM起个名字叫啥呀,叫做呃,其实这个叫什么呀,文档上起名叫d wt to ADS对吧?但其实大家说我这个ADS层的数据仅仅是来自于DWT吗?其实并不是,是吧,咱们有A有DWS,有DWD有DWT,呃,这边呢,咱们就还按照它这个命名方式走吧,啊,但大家知道里边是怎么回事就行啊好,那我问一下I。
03:08
啊,那把这个整个的脚本粘进来,你看他也不需要传三对吧?啊,就是直接需要传三,只需要传一个三,传哪个三呀,是不就是一个日期就行了呀啊那当然你要是线上上线之后日期是不是都不用传呀,对吧?这个大家注意就行啊好,Shift是Z,我们加一个执行权限啊趁mode加xd wt to ads.sh啊好,那这两天啊,这两天不知道为啥就是有有有两个同学都问我这个问题了啊,当时前面毕业的同学问的什么问题呢?呃,他说那个,呃,他们公司有这样的场景啊,就是不同的任务啊,需要用不同的这个计算引擎,呃,可能我这个任务用MR引擎,另一个用Spark引擎,对不对啊,他他有这样的要求,他就他就不知道怎么改了啊,嗯,他说老师这个我难道需要每次跑任务之前都去改一下have set那个文件吗?咱们那个眼镜怎么配的,还记得吗?
04:02
是不是在have里边有一个这样的文,呃,那个配置文件啊,还有在的咱是不是有一个这样的引擎的配置文件,对吧?哎,他说哎,那我每次都要在这里边改一下吗?大家时怎么办就行啊,对呀,你就在你不同的任务前面,在那个S前面是不是set一下这个参数就行了呀,你在这个文件里配是全局有效。你在circle那上面去set的话,那是什么呀?当前绘画有效对不对,也就是只对你那一个have杠一里边的任务有效,能理解吧?啊就是说你要不同的任务有不同的要求,你就赛参数就行了啊,所有的参数都是可以的啊,都是可以的啊所这种问题大家以后就是就是多思考思考吧,啊行,那这个脚本咱们准备好了啊,那现在我们加一下执行权限CD到咱们原来的这个目录啊,我们刚才是在这个B目录是吧,CD横盖就回到上一个路径了啊来IL我们执行刚才那个哎命令d wt to ad s2CH,那这时候我们需要给他传一个日期2020杠零六杠幺四,然后咱们回车。
05:06
这个任务可能稍稍长一点啊,一共有20张表啊,咱们这会儿稍微等一会儿吧,等他跑完之后呢,我们看一下这个ADS层最终的那个结果。呃,然后还是有部分同学啊,再去跑这个脚本的时候啊,他可能会出现这样的问题,什么问题呢,卡住不动。有没有同学遇到过这种问题啊?呃,咱们班可能目前还没有啊,前班好多班都都有类似的类似的问题,会卡着不动,卡着不动你说因为是什么呀,为什么呀。卡着不动很可能是没资源了啊,很可能没资源,因为咱们现在资源太有限了啊,我们虚拟机对吧?啊,那有同学可能会怎么样啊,我在这儿呢,我会起一个have so to,其他so to呢?那我在这个data gra当中,我是不是会连接它呀,你data gra连的是不是会一个application master,它是不是会一直占用资源不释放,对吧?只有当你把这个have so two关了之后,是不是它才会释放资源呀,对不对,还有同学呃,起个s two,那我这边呢,我再起个B烂啊,我还会再起一个什么hi户客户端等等,你是不是媒起一个客户端就都会出去一块初始化一个Spark的会画呀,对不对,那这些资源是不是都不释放,那都不释放一直占用,那你这边是不是就没资源跑任务了呀,对不对,如果说有类似的问题,那大家就可以把那个用暂时用不到的客户端呢,先给它关掉,关掉让它释放资源,那你这个脚本就能跑了啊,有同学有过类似的经历啊。
06:36
行,那咱们等跑完,这应该很快的啊。因为数据量也不大啊,咱们数据量也不大。啊,那一会儿我们学阿兹卡班,阿兹卡班学完之后,咱们做全流程调度,全流程调度完之后呢,我们就可以做一个可视化的一个展示了,啊,啊,这个任务已经跑完了啊跑完了,那完之后呢,我们去ADS层的这个表当中,咱们随机抽查几个啊看看这个表。
07:01
找一个l topic吧,双击这个咱们虽然没做啊,这个这区又没做,但是咱们这个看一下这个结果,因为后期咱们需要用到它啊,这张表当中我们有34条数据,是不是一个省一条啊,对吧?那后续我们会干什么呢?后续我们会对其进行这个可视化展示,那它肯定可以做一个地图,对吧,因为咱们是34个省份嘛,对吧?啊,有这么多啊,行,那这就是我们后续呃需要用的一张表,那接下来其他的随便看一看,比如说这个。啊,一条数据啊,这个啊前十啊就是十条呗,啊,那像这个下边的其他的,比如说adu的topic那一天就是啊一条数据啊,这是我们的结果啊结果行,那就先看这么多吧,这个数据呢,应该是没有问题的啊好,那我现在把视频录一下。
我来说两句