Azkaba 内置的任务类型支持 command、java。
1 Command 类型之单 job 工作流案例
1)创建 job 描述文件
vim command.job
#command.job
type=command
command=echo 'hello'
2)将 job 资源文件打包成zip文件
3)通过 azkaban 的 web 管理平台创建 project 并上传 job 压缩包
首先创建 project
上传zip
执行:
观察结果:
2 Command 类型之多 job 工作流案例
1)创建有依赖关系的多个 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
2)将所有 job 资源文件打到一个 zip 包中
3)创建工程,运行
3 HDFS 操作任务
1)创建 job 描述文件
fs.job
type=command
command=/opt/module/hadoop-2.7.2/bin/hadoop fs -mkdir /azkaban
2)将 job 资源文件打包成 zip 文件
3)通过 azkaban 的 web 管理平台创建 project 并上传 job 压缩包
4)启动执行该 job
5)查看结果
4.4 MapReduce 任务
Mr 任务依然可以使用 command 的 job 类型来执行
1)创建 job 描述文件,及 mr 程序 jar 包(示例中直接使用 hadoop 自带的 example jar)
mrwc.job
type=command
command=/opt/module/hadoop-2.7.2/bin/hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /wordcount/input /wordcount/output
2)将所有 job 资源文件打到一个 zip 包中
3)在 azkaban 的 web 管理界面创建工程并上传 zip 包
4)启动 job
4.5 HIVE 脚本任务
1)创建 job 描述文件和 hive 脚本
(1)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;
(2)Job描述文件:hivef.job
hivef.job
type=command
command=/opt/module/hive/bin/hive -f ‘test.sql’
2)将所有 job 资源文件打到一个 zip 包中
3)在 azkaban 的 web 管理界面创建工程并上传 zip 包
4)启动 job