00:00
好,再继续往下呢,我们开始学习第三章的内容啊,我们就要去正式的部署使用我们的air flow了啊,那首先呢,我们要知道怎么样去使用这个东西啊,那接下来呢,再给大家去介绍我们使用的这个测试的案例是什么,怎么样使用这个东西呢?哎,它是这个样子的,首先呢,我们要找到啊,我给它提交一个任务的一个地址,这个任务呢,官方给它叫做dag啊,叫有向无环图,就相当于你用Python代码写了这么一个对象啊,这对象呢叫dag啊,那写这个东西要放在哪呢?诶,在配置文件里面你可以看得到啊,Airlo airlo点。好,对应这个位置呢,在下面,你看叫dalo啊,你存在哪儿呢?存在home as硅谷airlo下面的das里面啊,我们可以去看一下。呃,这边呢,我们CD到alo里面啊,这个里面呢,它现在还没有这个DAGS是吧?哎,你给它创建一个。
01:04
Make DR d。啊SC到DAJS里面,好在这个里面呢,你去写一些Python脚本啊,它就可以去啊对应的去加载了啊,那这个Python脚本呢,我们给大家提供了一个测试案例啊,直接来使用这个案例呢,相对你以后就方便了啊好,我们直接把这个案例呢给它粘过来啊,叫VM一个test。点Python啊好,这个案例呢,给它粘过来啊,然后呢,给大家来看一下这玩意儿怎么写的啊,CTRLC好,到这边呢,我们来粘贴好内容呢,先进到这里面啊,接下来呢,我们在文本编辑器里面呢,去查看一下好CTR位。好,一起来看一下这个Python脚本,那首先呢,第一步上面这些操作都是固定的导包啊,一定要导入的,你看它主要导入的也是air floor,主要是这个对象就是这个dag啊,接下来呢,就是填参了啊,他需要填的参呢,首先你自身的用户是什么用户基本参数啊,你要给他设计一个owner,谁是这个任务的所属者啊,那就是随便写一个啊,这任务呢,是否开启任务的依赖啊,注意这个最好是打开啊,因为我们彼此之间它都不是单独调度一个任务的啊,你比方说我们数仓里面DD啊,DWSADS层对吧,它彼此之间是相互依赖的,先跑它,再跑它,再跑它啊,你就要使用到这么的一个功能啊,接下来呢,是邮箱啊,写一下你的自己的邮箱,然后启动的一个时间,这个时间呢,是为了在官方上有一个显示。
02:39
啊,出错了是否邮件报警跟重试重发是否邮件报警这个内容呢,咱们先关掉,在最后的时候再给大家去展示啊,也为失败的时候呢,重次多少次啊,重次的间隔是五分钟啊这都是一些基本的参数啊,它的核心的代码呢,是在这个位置啊,就是你拗了一个对象,DA对象啊只是说呢,在Python里面,它的语法跟我们加va的语法呢,有点不太一样啊,它没有那个new是吧?啊可能让很多同学呢啊不太习惯是吧,你又跟取一样吧,取一个对象是吧?好第一句啊,写一个名字。
03:16
Test,然后默认的参数值,就是你上面写的那个参数一大堆啊,这个在Python里面呢,它叫一个字典啊,对应我们Java里面的map啊,类似的一个东西,你按照格式给它填好,写到这个位置啊,注意这地方要有一个空格啊。啊,要有个空格啊,看起来可能更清楚一点。好在下面这个地方呢,是调度的一个时间啊,你自己写上它是一个一天啊,好,这时候呢,我们这个DA大的一个对象就已经创建完成了,创建完成之后再往下你创建单个的一个小的任务啊,这个单个的小的任务呢,也是以一个对象的形式来创建的,他创建的时候就是填这几个参数就行了啊,首先给他设计一个ID。
04:03
啊,任务ID嘛,设置一个didd完了之后啊,Bus卡曼的,哎,这就知道了,就任务命令嘛啊我们这里呢,写一个命令就行了,那为了能够跟真实的环境里面有一点相像呢,我们这里呢,没有说直接写一个hellowood的任务啊,我们写了一个Spark的任啊这个Spark任务呢,最终是做了一个球派的官方案例啊,也是到雅安上去跑的啊,跟我们实际开发呢,可能有那么一点点像啊,再往下设置一下它的一个冲刺次数啊,然后呢,把它放到这个dag对象里面,这就是把这个任务啊创建出来给注册到这个DA里面了啊,那依次往下推啊,再写一个T2的任务啊这个呃,任务的本体啊,都是球派啊,只是它的名字呢不一样啊dwddws ADS啊,第三个就是ADS,呃,当你全部写完了之后呢,最后不要忘了设置一下任务的一个依赖啊,这个说法呢,就是T2依赖于T1 T3依赖于T2。
05:03
跑下来呢,就是T1箭头T2啊,然后再跑T3啊,这就是我们这个啊,整体的一个任务啊,整体的任务你只要把它写好了,然后给它放到对应的路径下面保存退出,这时候你的air flow就会加载这个任务啊,就会加载这种,当然它不会运行,那接下来呢,咱们让它运行起来啊,既然你要跑一个Spark的任务,那你就得把底层的依赖给他启动起来啊,Spark on雅恩对吧,那你要把你的哈豆,也就是你的雅安给启动起来。好,同时呢,你还要注意啊,它还要启动一个服务啊,我们Spark on雅在运行的时候,它涉及到一个日志的问题啊,你要把Spark的日志服务器给它启动起来。这个呃,历史服务器呢,这是雅安的历史服务器啊,我们CD到杠OB mo6spark。
06:07
好啊,CD到OBD modu Spark啊,杠雅N啊,少写一个杠杆,好,进到model之后呢,我们来启动Spark的这个历史服务器啊,叫下的start。Start history s。好,他就已经启动完成了啊,那如果大家同学呢,已经做过之前的,呃,我们的离线数仓项目呢,你电脑上肯定都是有这些框架的啊,如果你没有只是说想学一个airl的话,那你随便写一个啊Linux的命令都可以来去进行一个测试啊,我这里呢,就为了演示一下,它可以跟哈杜雅跟这个东西呢,哎,结合在一起啊。好,我们给它启动完成之后呢,接下来就可以到这边来去检查我们写出来的这个任务了啊,点击刷新啊,往下来啊,往下来这地方呢,就会有我们的test啊,需要你等待一段时间啊呃,你可以到这个web UI页面上去查找你写的所有的东西啊,其实在命令行里面呢,也是可以的,它是有对应的命令的,比方说呃,Airlo DA。
07:12
啊,然后类。好,叫DS啊。啊,这里呢,也可以查到你所有的一个啊,对应的一个呃,任务啊,DA的任务啊,都会有对应的一个介绍啊好,我们来给它运行一下啊,看是如何来使用的啊,如果你想把你的这个调度任务呢,给它运行起来的话呢,只需要点前面这个啊。啊啊,就相当于是一个开关啊,你点啊,它已经开始运行了啊,那我们都知道呢,这个任务呢,它是跑到雅龈上的啊,速度呢还是比较慢的,所以需要我们去等待一段时间,它这里已经起到了一个监控的一个作用啊,这边呢,一共是三个任务在运行啊,现在第一个任务呢,已经是在running当中啊,我们整个的一个脚本里面,它这个任务还是要按照你的这个命令啊,从上到下一个一个来运行的,因为我们设置的有对应的一个依赖关系啊,第一个已经完成了,第二个开始跑,对吧?除了你可以在当前的这个主页去监控之外呢,点进去也是可以去监控的啊,这个页面里面告诉你一共有多少个任务,然后怎样去啊运行啊,那现在已经跑了40多秒了啊,这任务呢,还是需要点时间的,如果我们只是演示一个普通的Linux命令的话,那可能一秒钟就全部结束了,你看不出对应的一个效果啊。
08:29
好,首先呢,它有一个导视图啊,导航图,你可以看到整体的一个效果,它其实还有一个叫有效无环图啊,你点开它告诉你是在运行哪些内容,然后相互之间的一个传递关系啊,也是有的,你说我要具体看到它里面啊,说这个日志打印输出怎么样啊,如果你学过呃,Spark的话呢,你应该知道啊,我们这个任务呢,它最终是打印到前台里面的,对吧,那怎么看呢?哎,首先呢,你点到这个里面。点击单独的一个任务啊,这边呢,就有它对应的一个log啊,你这个log里面呢,就可以看到啊,这是我们Spark在运行球拍任务的时候所有的一个内容啊,他的答案呢,也会给我们打印在控制台上啊,你需要去相对应的去找一下啊,他现在还没有运行完呢,是他现在这个这日志啊,是说他还没有这个啊运行完呢,他还在去去汇报啊,这个任务呢,我们也可以去看得到啊,这个任务呢,是在哈loop啊叫1038088,对应8088里面也会有这个对应的一个任务,对吧,也会有任务啊,他现在呢,还有最后一个正在running当中,我们稍微等他一下。
09:38
好,已经结束了啊,那全部都结束完了之后呢,它应该就是已经运行完成了。嗯,还还才运行两个是吧,那速度呢是是比较慢啊,我们挑的这个案例呢,它效果稍微,呃,时间长了一点哈,再等一下。好,已经运行完成了啊,运行完成之后,你再点到日志这边你往下翻。
10:04
啊,它就已经全部认证完成了,这里面呢,就是它的一个答案啊,这是一个答案,因为我们设置了一个依赖关系啊,所以它是一个一个运行的,是需要一些时间的啊,这个导航图呢,或者说这个web UI呢,我们主要看的内容就有这几部分,首先第一个这是查看你这个任务啊,大概运行了多久啊,我们三个加起来呢,运行了两分钟啊,然后接下来呢,这个地方是它彼此之间的依赖关系啊,如果变成深绿色,说明它已经啊运行完成了啊,还可以去看一下这边啊叫task instance啊,叫任务的一个实例啊,你也可以看到具体这一个任务啊,它对应的一个这个任务实例啊,我们这边呢,它运行了好多次啊,运行了好多次它呃。跟这个Spark的任务啊有关系啊好,最终呢,我们也可以去看它的相关的一个日志啊,点进来之后那边有log是吧,都可以看到它对应的一个日志关系啊好了,那这个呢,就是我们具体的一个应用了啊,DA的一个应用。
我来说两句