00:00
好,那这个脚本其实你要想想写的话很简单,咱们这呢,比如直接把它粘出来,CTRLC粘来之后,咱们就开始写这个脚本了啊来。为什么要写这个脚本,刚才咱们已经分析过了,对吧?啊,因为呢,我需要,呃把这个任务分成脚本,然后呢,后续交给鸭子他们去调度嘛,啊来咱们写脚本,点开它,点开这个,但然后呢,我先把这里边东西先粘过来,我们在这个脚本当中是不是要执行的任务就是这俩呀,一个是导数据,一个是键索引,对不对啊,那这块咱们怎么处理啊?嗯,首先咱们明确一个问题,漏语句这是一条什么,这一条have的S对吧?那所以说你能直接这么执行吗?不能你那怎么办?得have杠杠一对吧,因为咱们是在现在是在一个shell的环境当中,你要想执行一下circle,就得have杠一,那所以这个CTRLX,咱们这呢,可以写一个circle啊,比如说写一个circle circle让它等于等于一个字符串,然后呢,把咱们这个语句放在这里啊,然后写完之后呢,我们往下走啊往下走。
01:00
来,我们往下翻,我这呢可以执行一个have杠一,然后后边的来引用谁引用这个Dollar circle是不是就可以,然后问大家一下啊,咱们直接这么写Dollar circle行不行。呃,也就是说我后边我这需不需要再加个什么引号什么的。需不需要讲?需要加啊,需要加这个得注意啊,为什么需要加啊,因为你这要不写这个引号的话,它实际上这个字符串我给你解析过来就是什么样呢,是不是就是这样的呀。是不是相当于你这直接执行就是氦五杠一这个玩意儿了。对不对,那相当于你是不是给have这个脚本传了一大堆的参数啊,就我们这have杠一只需要一个circle,是不是一个整体啊啊,那所以说你这的这个引号是必须得有的啊,这个不要,哎,忘了加上引号,哎,OK啊行,那下边这个海洞这这个是不是可以直接执行啊,那这个脚本你写完之后一直行,那14号的数据它就过去了,这个很简单,没问题啊,但我们大家都知道这个脚本呢,我们写完之后是每天都要重复去跑的,所以里边的日期肯定不能写此啊,那咱们学要怎么做,是不是需要在上边声明一个时间变量Dollar读date,你让它等于啥?是不是等于前一天的日期啊,前天日期怎么获取来着,是不是加一个date-D,然后后边呢减一。
02:18
对对不对,然后呢,加一个百分号啊,F是不是格式化一下啊,当然我们要想获取这个结果需要加一个啥来着标号对吧?啊,需要加标号才行啊,这个前面都讲过了啊,加一标号,加标号之后呢,那do date它获取的是不是就是每天都是前一天的日期了呀,那咱这时候怎么做,是不是将这个do date拿过来放到哪,放到下边所有这个日期的位置啊,咱们也用Dollar do date,那同理这个位置呢,也是Dollar do date。Dollar do that,那下边这是不是也有日期这个位置,咱们也给它换成Dollar do that。读下划线DA啊行,那现在是不是就OK了啊,现在就OK了,确实是这样的啊,然后简单简单再再点一下啊,你说这个位置啊,大家看这。
03:08
看看这啊,这这外边是什么,是单引对吧,单引号当中它的这个do这个变量能不能解析。咱们前面讲了单引号里边是不解析的,对吧?嗯,那这边咱们需要需不需要给它处理一下呢。需不需要处理一下?需不要需要,其实不需要啊,其实这个东西它会解析的啊。因为什么,因为咱们这个circle里边是不是咱们相当是嵌套的呀,外层是不是有双眼,然后里边是有单引的,对吧,然后咱们这个字符串当中的变量到底解析不解析,咱们以谁为准。以最外层为准,外边是双研,那这个就会解析,所以咱这是没有问题的啊,OK了,这个脚本其实就这么写就行了啊,就这么写就行了啊,它就可以每天重复执行,然后这个数据呢,每天自动到前一天的了,就是这样啊,当然我这个脚本呢,写的并不是特别完整啊,咱们把文档上这个粘过来给大家看一下啊,来文档上这个从这往下走啊,放到这儿。
04:08
CTRLZ啊,让他把我这个覆盖一下吧,Ctrl a啊,CTRLV啊,虽然不完整,但其实内容也差不多啊,咱们看一看文档怎么写的啊,正第一个它生明的一个变量APP等于机贸啊,就是后边引用这个,呃,需要用集贸去引用变量就行了,方便修改嘛,这是have,这have它生明的一个变量啊,指向哪了,是不是指向have的那个绝对路径了呀,对不对?那这个这么写有什么好处啊,就是不管你基因当中有没有配环境变量,我这个have的命令是不是都能找到啊啊是这样的啊,下面那是海豆腐,海豆腐也是一样的道理啊,这个不多说,然后在这边呢,我们这个刀that它要比我那个多多做了一个判断,对吧?啊,相当于什么呀?啊,如果说你给我传这个参数了,那我就用你传的参数,如果没传我就自动获取,前一天是不是这个意思啊啊,所以说这个大家应该也能看懂,那下边呢,就是开始写circle啊,写circle circle后边呢,来执行circle口啊执行完circle之后呢建索引。
05:01
其实是一样的道理啊,一样的道理啊,然后有一个地方大家需要注意一下,哪个位置呢?就是这儿啊,因为什么啊,因为咱们在这儿这个circle狗当中啊,Circle当中,哎,我们是不是用到了一个表啊,咱们INTO1张表了啊一这张表了,然后呢,你要注意在这个位置呢,我们一定得在表明前边加上。库名啊,因为你这是不是直接have杠一啊,直接have杠一,它默认用的是哪个库是default库,所以说你这不加库名的话呢,它会呃找不到表啊,所以说在这儿呢,我们在表明前面加上库名就行了,然后这个库名它在是不是写了一个变量啊APP啊,那所以这是不是引用APP就行了呀,那我们之前大家引用变量都是怎么引用的。是不是好像没有这么写,咱们之前是不是就直接到了APP就完事了呀,那他这不加了一个大括号,为什么要加这个大括号呢。其实道理很简单,你看啊,如果不加大括号,那你这个变脸名是什么?是不是就是Dollar跟后边连起来了呀?
06:00
对不对,它是不是会把这个东西当成你这个变量名啊,但是我们这儿呢,只有谁是变量名,只有APP是变量名,所以说我们这儿呢,为了区分开,哎,所以说加了一个大括号,把变量名和其他字符串给你分割开来啊,是这个作用啊啊,那这就是咱们这个脚本啊,就完事了啊,那ctrl a ctrl c那脚本咱们讲完之后呢,我放到102的并目录下边啊或CD到这个并目录,然后呢,VM咱们起个表,起个别名,起个起个那个脚本名啊,咱叫什么名啊。按照咱们之前学那个命名方式,咱们从哪到哪,这是hfs到ods啊HTFS,然后呢,To,哎,Ods咱叫什么名叫做log.sh,因为是日志嘛,HI,然后把这个脚本咱们粘进来,Shiftccc啊,然后我们这呢加一个权限change Mo加X hdfs to o s log,好,那这时候我们就可以做一把测试了啊哎,我们点杠hdfs to o s log,那咱们是不是只需要传一个日期就够了呀,2020杠零六杠幺几幺四啊,那咱们回车啊,测试一下这个脚本能不能成功啊。
07:09
嗯。咱们稍微等一下啊。啊,这个数据呢,已经漏过去了,漏过去之后是不是紧接着呢,就开始建锁眼了呀,开始建锁眼了啊,那这时候我们就只需要在这个,呃,咱们的这个客户端这边,咱们等着就行了,然后呢,等着去查一下,呃,这个数据啊,等他跑完吧,诶跑完了那咱们这双击。OK,你看这个数据是不是已经过来了呀,那咱们这儿看到的是几个字段,是俩字段对吧?但其实大家都知道,这是咱们电表的那个字段,这是谁呀?这是分区字段啊,这个应该都能看出来了啊,再就是咱们这个一张表,哎,这个所有的内容,包括建表,包括每天的数据怎么往里导,然后那个脚本怎么写,咱们这些东西必须得掌握啊,好,那我把视频录一下啊。
我来说两句