azkaban 应用
鸡汤: 你不勇敢,没人替你坚强
1. 单任务¶
Azkaba内置的任务类型支持command、java
root@leco:/home/leco# cat foo.job type=command command=echo foo root@leco:/home/leco# zip foo.zip foo.job updating: foo.job (deflated 13%)
将job资源文件打包成zip文件,通过azkaban的web管理平台创建project并上传job压缩包
2. 多依赖任务¶
- 创建有依赖关系的多个job描述,第一个job:foo.job
root@leco:/home/leco/cc# cat foo.job type=command command=echo foo
- 第二个job:bar.job依赖foo.job
root@leco:/home/leco/cc# cat bar.job type=command dependencies=foo command=echo bar
- 将所有job资源文件打到一个zip包中
root@leco:/home/leco/cc# ls foobar.zip foobar.zip

3. HDFS 任务¶
本测试通过azkaban 在hdfs上创建以azkaban为名的目录。
root@leco:/home/leco/cc# ls bar.job foobar.zip foo.job foo.zip hdfs.job root@leco:/home/leco/cc# zip hdfs.zip hdfs.job adding: hdfs.job (deflated 12%) root@leco:/home/leco/cc# cat hdfs.job type=command command=/usr/local/hadoop-2.6.5/bin/hadoop fs -mkdir /azkaban
[root@master server]# hadoop fs -ls /|grep azkaban [root@master server]#
开始之前hdfs没有azkaban目录。
查看结果
[root@master server]# hadoop fs -ls /|grep azkaban drwxr-xr-x - root supergroup 0 2019-08-13 15:55 /azkaban
4. MapReduce任务¶
Mr任务依然可以使用command的job类型来执行
- 准备数据
[root@master hadoop]# hadoop fs -mkdir /azkaban_demo [root@master hadoop]# hadoop fs -put /etc/passwd /azkaban_demo [root@master hadoop]# hadoop fs -ls /azkaban_demo/ Found 1 items -rw-r--r-- 3 root supergroup 1159 2019-08-13 16:06 /azkaban_demo/passwd
- mrwc
root@leco:/home/leco/cc# cat mrwc.job type=command command=/usr/local/hadoop/bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /azkaban_demo /azkaban_out root@leco:/home/leco/cc# ls mrwc* mrwc.job mrwc.zip
[root@master hadoop]# hadoop fs -ls /azkaban_out ls: `/azkaban_out': No such file or directory


[root@master hadoop]# hadoop fs -ls /azkaban_out Found 2 items -rw-r--r-- 3 root supergroup 0 2019-08-13 16:34 /azkaban_out/_SUCCESS -rw-r--r-- 3 root supergroup 1245 2019-08-13 16:34 /azkaban_out/part-r-00000 [root@master hadoop]#
5. Hive 任务¶
-
Hive脚本: test.sql
use default; drop table aztest; create table aztest(id int,name string) row format delimited fields terminated by ','; load data inpath '/aztest/hiveinput' into table aztest; create table azres as select * from aztest; insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest;
-
Job描述文件:hivef.job
type=command command=/opt/module/hive/bin/hive -f 'test.sql'