00:00
好,上节课啊,我们把这个OD城啊啊,创建了一张启动日志表,还有一个事件日志表,对吧,这两个表,而且呢,我把这个3月10号的数据已经成功的导入到这个还有表里面了。那这个问题啊,我们现在导的都是这个客户端,在客户端这个页面上手动去导了,那这个很麻烦的,对吧,每天你都是去去导一下。那这个人工上受不了,那做不了的话怎么办?哎,写成脚本啊,把它做成脚本不就完了吗?也就是说你看。这里面上面是正式呢,建表语句对吧?啊建表语句,建表语句没有必要一直在建表吧,对吧?啊,没有必要一直见表,所以说建表语句呢,我们是完全可以删掉的,那剩下的下面这块。对。上面那个删掉吧。因为这个导数据这一块呢,那这块呢,可是每天都要导的,因为我们现在今天导的呢,是这个3月10号的数据。那么明天再倒的话,我就要倒3月11号了,再倒三月12。
01:01
就说它是一个变化的,那怎么能写这个脚本呢,啊脚本呢,写这分这么几步啊,分这么几步啊,第一个第一步呢,叫井号叹号变,对哎,这是第一步,那第二步叫什么呢?第二步叫定义变量。听一遍了。好,那第三步要干什么呢?第三步叫获取实践。哎,获取时间就是我们之前写school脚本那个时间方面的一个处理,那第四步啊,第四步,第四步呢,是具体的舌口语法具体的舌口了。对吧,我要写这个,那第五步呢。第五步叫直行时坑啊,基本上就这么一步,那我们这里面其实后面又加了一个,加了一个啥呢?加了一个这个,嗯,索引就说拉创建蜡烛水引。
02:11
哎,这么几块就OK了,那首先第一块井号叹号b ma没啥说的对吧,哎,大家呢,都要嗯去有的开头,那下面这个第一变量,第一变量我们后面会用到什么变量呢?哎,会动用到一个have变量。对吧,因为我们这里面要要在have里面去执行对应的这个口,那还变量的话,那它等于什么呢?哎,等于o Mo model model下面have。对吧,啊,这是的一个根目录,然后下面B啊,然后启动还对吧,哎,定义这个变量,那也说日后这个还这个安装路径发生变化,那我只需要改一下它就行了。啊改善它,那后面呢,我们还会用到一个。叫APP啊没,比如说我们这里面啊,哎,这个数据库的这个名称。
03:04
叫APP,那我们现在当前的这个数据库名称啊是gma啊gma,那如果我们后面换了一个这个数据库,是换了一个APP,说后面换了不叫gma了,叫什么在线教育教育来student学生,这学生或者这叫。哎,这是可以修改的,那后面的话,这个APP主要放在什么呢?放在你这个表的名字上啊,表前相当于是数据库,比如说这正常情况下应该是这个gma点它对吧,那现在呢,我把它给抽取出来,抽取到这。哎,换成它啊,一会儿我们再改它啊,一会儿再改我们会用到这个。这个变量啊,定义这么两个变量,那当然了,后续呢,你在学校变量的话,你可以在这继续去定义,也就是说容易发生变化的,而且数据量比较大的,那我们就给它抽取出来。
04:02
那下面呢,这块呢是获取时间,那获取时间if对吧?啊,If之前也说过杠N判断判断传进来这个参数啊,全参数呢。诶,这个它取的变量值哈,取变量值的话得用双引一啊,如果传进来的DO1的。ELSE啊,我这里面用的是嗯,If else啊,这这种分支啊,之前我们是先获取那个时间啊,这种效果会好一些,比如说传进来这个值,那我就。对。等于你传进来的值到一对吧,哎,你这里面只要那个传进来的第一个参数是时间,那我就直接放在这不就完了吗。对吧,哎放在这那之后后面都对上,如果没传进来值呢,哎,没传进来值,没传进来值票号,这是执行命令对吧?啊执行里面的命令,那就是date-S。
05:11
啊杠S-S后面执行。减1Z啊啊减1Z,然后再往后,这里面是加号大,分号大F。对吧,哎,这样呢,是获取相当于是T加一模式,比如说获取前一天的日期,当前日期减一。哎,这呢是获取对应的时间,那下边第四步呢,是具体的执行蛇口,那具体执行蛇口执行什么口。你不是要执行这个吗。对吧,不知道指他吗。那它的话,那就是我直接定义一个变量,这个变量呢就叫circle,等于我把它引在一起。啊在一起,比如说我未来就来执行这个,执行这个口,那这口怎么执行呢,会这样。
06:04
Dollar have,杠一。Circle,哎,这样去执行,比如说Dollar符啊,杠E取的是这个变量,比如说be have下面杠E这个之间咱应该学过对吧?啊之前学过啊,杠一的方式去执行这里面的命令,就说不需要启动,还有这个客户端直接通过这种语法啊执行里面的时候。那这个呢是circle,那circle是这里面,那这里面大家都说这你这不行啊,这有时间呢。这时间得按照你传进来这个值去去做呀。你把这个时间换呢,遇到这种时间把它换掉。换成什么呢?哎,换成Dollar do对。这不就变了吗?你进来是啥,那我这个就是啥,那这也一样。对吧,Dollar for do date。那这后面还有一个时间。
07:01
仍然是Dollar do date。Dollar。对吧,哎,这样就OK了,那这样就OK了,还差点意思,我们这个APP啊,这没用对吧,目前还没用,那一会儿呢,给大家这个,嗯,我提前说了吧,啊,如果你不加上这个APP啊,这个前面呢是这块。在这哈,因为我们由于是直接是have杠一去执行这个口,那我问你,你这张表是在哪个数据库里面。它默认执行的是在这个default数据库。那default数据库里面根本就没有odslo和odslo。对吧,你想想这直接是表明啊,这个表明只有在地面下能执行,那我以前呢,是这个开启客户端对吧?哎,开启客户端我是在这儿,这是可以执行的。但是他这里面它是有两个数据库。有一个default,有个gmail,而且默认的是default,哎,所以说这块呢,你不能这个光把这个表格着往这一放,你需要在前面加上数据库,那正常的你应该是gmail点啊,我说过这个东西怕它变化,你可以在它前面加上加上什么Dollar符,Gmail。
08:14
啊,APP点。但这样呢,不行啊,这样的话到乐福呢,他会认为这是一个字符串。把它拼在一起了,那这不符合我们义怎么呢?加上一个大括号,把它括在一起表示,那这是一个整体。啊,取出这个APP的值,那就变成G点它了啊,那下面同道理。拿过来,哎,这样呢,就把它拼接在一起了哈,那我检查一下啊后续的内容。没问题了啊,应该是没问题了哈。行,那这样的话,我们来简单执行一下哈,那这里面这几步啊,我就给它删掉了哈,怕它有影响。
09:03
干掉,把这中文描述全部干掉啊,那后面还有一个是嗯,Hi duop。这样对吧,啊,拉走的那个创建索引那个那个我把它粘过来啊,创建索引那个创建索引是这个。啊,这两个都拿过来啊。你说hi架OPT model啊,这个路径下这个架包之后呢,是全类名。后面这个,嗯,主要是后面这个哈,再往后。到最后这块,比如说这个DT建分区的时候,你要给它换成这个download date也是换成这个当前的日期啊,否则的话,这个它不就是二零嗯20年3月10号嘛,啊这个呢不合适,固定的值不合适,比如说遇到时间全把它换成Dollar date就可以了啊。行,那这个结束之后呢,我们来试验一下啊,试验一下检,嗯,检查一下。应该没啥问题。拿过来。
10:04
嗯,这个表的名字叫什么呢啊,VM数据源,数据源是来源于HDMS,然后to目标地址呢是ods层,嗯,这个呢是ods层log吧,直接就log了,我看看啊。应该是这样命名的。ODL对吧?As to,嗯,Ods,然后呢,是log后缀的,属于用户行为数据哈。OK,申请一下,看能不能一次性成功啊,不成功的话我们再调顺水报的777DSOK,万事俱备,只欠东风啊,ADS。对吧,哎,它那传进去对应的这个时间,我想导的是2020年杠零三杠103月十号的一个数,三月11吧,啊3月10号已经导完了,对吧?啊,现在这里面只能导了一个三月11,那三月11不行。
11:16
Have not found。没找到路径啊,我们稍等看一下啊,别着急,他说,Fair not found warehouse,嗯,Gil ods ods evenlo。
我来说两句