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
Azkaban工作流任务实践
本文详细介绍了Azkaban平台下多种任务类型的配置与执行流程,包括单job与多job工作流、HDFS操作、MapReduce及Hive脚本任务。通过具体案例,展示了从job描述文件创建、资源打包到项目部署与执行的全过程。
464

被折叠的 条评论
为什么被折叠?



