Azkaban 实战

Azkaba 内置的任务类型支持 command、java
Command 类型单一 job 示例
1、创建 job 描述文件
vi command.job

#command.job
type=command
command=echo 'hello'

2、将 job 资源文件打包成 zip 文件
zip command.job
3、通过 azkaban 的 web 管理平台创建 project 并上传 job 压缩包
首先创建 project在这里插入图片描述上传 zip 包在这里插入图片描述启动执行该 job在这里插入图片描述Command 类型多 job 工作流 flow
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、在 azkaban 的 web 管理界面创建工程并上传 zip 包
4、启动工作流 flow

HDFS 操作任务
1、创建 job 描述文件

# fs.job
type=command
command=/home/hadoop/apps/hadoop-2.6.1/bin/hadoop fs -mkdir /azaz

2、将 job 资源文件打包成 zip 文件在这里插入图片描述
3、通过 azkaban 的 web 管理平台创建 project 并上传 job 压缩包
4、启动执行该 job

MAPREDUCE 任务
Mr 任务依然可以使用 command 的 job 类型来执行
1、创建 job 描述文件,及 mr 程序 jar 包(示例中直接使用 hadoop 自带的 example jar)

# mrwc.job
type=command
command=/home/hadoop/apps/hadoop-2.6.1/bin/hadoop jar hadoop-mapreduce-examples-2.6.1.jar wordcount
/wordcount/input /wordcount/azout

2、将所有 job 资源文件打到一个 zip 包中在这里插入图片描述
3、在 azkaban 的 web 管理界面创建工程并上传 zip 包
4、启动 job

HIVE 脚本任务
创建 job 描述文件和 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

# hivef.job
type=command
command=/home/hadoop/apps/hive/bin/hive -f 'test.sql'

2、将所有 job 资源文件打到一个 zip 包中
3、在 azkaban 的 web 管理界面创建工程并上传 zip 包
4、启动 job

猜你喜欢

转载自blog.csdn.net/weixin_43203897/article/details/88183004
今日推荐