一、Command类型的单一job
command1.job
#command.job type=command command=bash hello.sh
hello.sh
#!/bin/bash echo 'hello azkaban'
将job资源文件打包成zip文件:
通过azkaban的web管理平台创建project并上传job压缩包
启动执行该job
这里直接执行,执行完后可以查看:
二、Command类型的多job工作流
第一个job:foo.job
# foo.job type=command command=echo foo
第二个job:bar.job依赖foo.job
# bar.job type=command dependencies=foo command=echo bar
将所有job资源文件打到一个zip包中
在azkaban的web管理界面创建工程并上传zip包
启动工作流
三、HDFS操作任务
首先看一下hdfs目录:
[root@node1 conf]# hdfs dfs -ls / Found 3 items drwxr-xr-x - root supergroup 0 2019-12-10 17:44 /hbase drwxrwxrwx - root supergroup 0 2019-11-28 14:57 /tmp drwxr-xr-x - root supergroup 0 2019-11-29 15:10 /user
fs.job 创建一个目录
# fs.job type=command command=/opt/hadoop-2.7.3/bin/hadoop fs -mkdir /azaz
将所有job资源文件打到一个zip包中
在azkaban的web管理界面创建工程并上传zip包
启动工作流
再查看一下hdfs目录:
[root@node1 conf]# hdfs dfs -ls / Found 4 items drwxr-xr-x - root supergroup 0 2020-01-07 17:56 /azaz drwxr-xr-x - root supergroup 0 2019-12-10 17:44 /hbase drwxrwxrwx - root supergroup 0 2019-11-28 14:57 /tmp drwxr-xr-x - root supergroup 0 2019-11-29 15:10 /user
四、MapReduce任务
创建input文件
[root@node1 files]# hdfs dfs -mkdir /azaz/input [root@node1 files]# cat wc.txt hello linux hello word hive mysql mysql hbase [root@node1 files]# hdfs dfs -put wc.txt /azaz/input
创建job描述文件,及mr程序jar包(示例中直接使用hadoop自带的example jar)
# mrwc.job type=command command=/opt/hadoop-2.7.3/bin/hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /azaz/input /azaz/output
将jar包和job文件打成zip包
在azkaban的web管理界面创建工程并上传zip包
启动工作流
最后查看执行结果:
[root@node1 files]# hdfs dfs -text /azaz/output/part-r-00000 hbase 1 hello 2 hive 1 linux 1 mysql 2 word 1
五、HIVE脚本任务
c.txt
[root@node1 files]# cat c.txt 1,zhangsan 2,lisi 3,wangwu
hdfs dfs -pur c.txt /azaz/hiveinput
Hive脚本: test.sql
use default; drop table aztest; create table aztest(id int,name string) row format delimited fields terminated by ',' ; load data inpath '/azaz/hiveinput' into table aztest; create table azres as select * from aztest; insert overwrite directory '/azaz/hiveoutput' select count(1) from aztest;
job文件:hivef.job
# hivef.job type=command command=/opt/hive-2.1.1/bin/hive -f 'test.sql'
将所有job资源文件打到一个zip包中
在azkaban的web管理界面创建工程并上传zip包
启动job
查看结果:
hive> use default; hive> select * from aztest; OK 1 zhangsan 2 lisi 3 wangwu hive> select * from azres; OK 1 zhangsan 2 lisi 3 wangwu