Azkaban实战,Command类型单一job示例,任务中执行外部shell脚本,Command类型多job工作flow,HDFS操作任务,MapReduce任务,HIVE任务
1.Azkaban實(shí)戰(zhàn)
Azkaba內(nèi)置的任務(wù)類型支持command、java
Command類型單一job示例
1、創(chuàng)建job描述文件
vi command.job #command.job type=command command=echo 'hello'2、將job資源文件打包成zip文件
zip command.job
3、通過azkaban的web管理平臺創(chuàng)建project并上傳job壓縮包
首先創(chuàng)建project
上傳zip包,例如:
zip包中的內(nèi)容如下:
上傳界面:
4、啟動執(zhí)行該job
可以查看腳本的內(nèi)容:
執(zhí)行工作流:
上面的已經(jīng)變成了綠色了,表示已經(jīng)執(zhí)行完成了。
上面的repeat表示每天執(zhí)行一次
1.2.通過任務(wù)執(zhí)行shell腳本
編寫command.job文件
內(nèi)容如下:
上面的command=sh hello.sh表示的意思是執(zhí)行hello.sh腳本,其中hello.sh的腳本如下:
#!/bin/bash echo 'hello' > /home/tuzq/software/azkabandata/hello.txt按照上面的案例,上傳上去,并且執(zhí)行。
上傳任務(wù)的腳本
執(zhí)行工作流:
進(jìn)入/home/tuzq/software/azkabandata查看是否有文件:
1.3.Command類型多job工作流flow
1、創(chuàng)建有依賴關(guān)系的多個job描述
第一個job:foo.job
第二個job:bar.job依賴foo.job
# bar.job type=command #表示這個命令依賴foo這個任務(wù) dependencies=foo command=echo bar2、將所有job資源文件打到一個zip包中
3、在azkaban的web管理界面創(chuàng)建工程并上傳zip包
4、啟動工作流flow
1.4.HDFS操作任務(wù)
1、創(chuàng)建job描述文件
# fs.job type=command command=/home/tuzq/software/hadoop-2.8.0/bin/hdfs dfs -mkdir /azaz2、將job資源文件打包成zip文件
3、通過azkaban的web管理平臺創(chuàng)建project并上傳job壓縮包
4、啟動執(zhí)行該job
通過上滿的結(jié)果可以證明,可以通過job來自行hdfs的命令
1.5.MAPREDUCE任務(wù)
Mr任務(wù)依然可以使用command的job類型來執(zhí)行
1、創(chuàng)建job描述文件,及mr程序jar包(示例中直接使用hadoop自帶的example jar)
2、將所有job資源文件打到一個zip包中
其中hadoop-mapreduce-examples-2.8.0.jar 在$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.0.jar
3、在azkaban的web管理界面創(chuàng)建工程并上傳zip包
上傳之后的準(zhǔn)備工作是:
將wordcount/input上傳到hdfs,命令如下:
其中1.txt中內(nèi)容類似:
4、啟動job
現(xiàn)象:
執(zhí)行完成之后的狀態(tài)是:
查看hdfs上的內(nèi)容:
開始的時候發(fā)現(xiàn)在/wordcount下只有input這個文件夾,當(dāng)執(zhí)行完成之后,發(fā)現(xiàn)有了azout這個文件夾。
綜上所述,說明通過azkaban在hdfs上生成了文件
1.5.HIVE腳本任務(wù)
創(chuàng)建job描述文件和hive腳本
Hive腳本: test.sql
Job描述文件:hivef.job
#hivef.job type=command command=/home/tuzq/software/hive/apache-hive-1.2.1-bin/bin/hive -f 'test.sql'2、將所有job資源文件打到一個zip包中
3、在azkaban的web管理界面創(chuàng)建工程并上傳zip包
4、啟動job
準(zhǔn)備工作(在hdfs上創(chuàng)建一個hive執(zhí)行sql后依賴的文件夾):
[root@hadoop1 apache-hive-1.2.1-bin]# hdfs dfs -mkdir -p /aztest/hiveoutput
執(zhí)行完成之后效果如下:
特別注意的是:如果執(zhí)行錯了,可以查看任務(wù)的日志輸出:
總結(jié)
以上是生活随笔為你收集整理的Azkaban实战,Command类型单一job示例,任务中执行外部shell脚本,Command类型多job工作flow,HDFS操作任务,MapReduce任务,HIVE任务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑屏幕缩小了怎样恢复左右两边是黑屏(电
- 下一篇: 使用IntelliJ IDEA 配置Ma