Azkaban实战五例

2023-02-25 15:22:50 浏览数 (1)

job类型的文件都可以添加的参数有

retries --> 任务失败时自动重启的次数 retry.backoff --> 每一次任务尝试重启时之间等待的毫秒数 working.dir --> 可以重新指定任务执行的工作目录,默认为目前正在运行的任务的工作目录 failure.emails --> 任务失败时的邮件提醒设置,以逗号分隔多个邮箱 success.emails --> 任务成功时的邮件提醒设置,以逗号分隔多个邮箱 notify.emails --> 任务无论失败还是成功都邮件提醒设置,以逗号分隔多个邮箱 dependencies--> 定义该文件依赖的文件,值为被依赖文件的文件名,多个目标以逗号分隔,不加扩展名

Command类型单一job示例

1.创建job描述文件

vim command.job

代码语言:javascript复制
#command.job
type=command                                                    
command=echo 'hello'

2.将job资源文件打包成zip文件

代码语言:javascript复制
zip command.job

3.通过azkaban的web管理平台创建project并上传job压缩包

代码语言:javascript复制
首先创建project

上传zip包

4.启动执行该job

Command类型多job工作流flow

1.创建有依赖关系的多个job描述

第一个job

vim one.job

代码语言:javascript复制
#one.job
type=command
command=echo hello

第二个job:two.job依赖one.job

vim two.job

代码语言:javascript复制
# bar.job
type=command
dependencies=one // 依赖关系
command=echo two

2.将所有job资源文件打到一个zip包中

3.在azkaban的web管理界面创建工程并上传zip包

4.启动工作流flow

HDFS操作任务

1.创建job描述文件

vim hdfs.job

代码语言:javascript复制
#hdfs.job
type=command
command=/home/hadoop/apps/hadoop-2.6.1/bin/hdfs dfs -mkdir /azkaban

2.将job资源文件打包成zip文件

3.通过azkaban的web管理平台创建project并上传job压缩包

4.启动执行该job

MAPREDUCE任务

1.创建job描述文件,及mr程序jar包(示例中直接使用hadoop自带的example jar)

vim mrwc.job

代码语言:javascript复制
#mrwc.job
type=command
command=/home/hadoop/apps/hadoop-2.7.3/bin/hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /wordcount/input /wordcount/output

2.将所有job资源文件打到一个zip包中

3.在azkaban的web管理界面创建工程并上传zip包

4.启动job

HIVE脚本任务

● 创建job描述文件和hive脚本

Hive脚本:az.sql

代码语言:javascript复制
use default;

drop table aztable;

create table aztable(id int,name string) row format delimited fields terminated by ',';

load data inpath '/azhive' into table aztable;

create table aztwotable as select * from aztable;

insert overwrite directory '/azhive' select count(1) from aztable; // 将会在HDFS的 /azhive 目录下保存查询出的表的数据条数 

Job描述文件:hive.job

vim hive.job

代码语言:javascript复制
#hive.job
type=command
command=/home/hadoop/apps/hive/bin/hive -f 'az.sql' // hive -f 执行hql文件中的语句; hive -e直接执行hql语句hive -e "select * from emp"

如果hive 和 Azkaban 不在同一台机器

vim hive.job

代码语言:javascript复制
#hive.job
type=command
command=ssh hq555 /root/hadoop/apps/hive/bin/hive -f 'az.sql'

● 将所有job资源文件打到一个zip包中

● 在azkaban的web管理界面创建工程并上传zip包

● 启动job

0 人点赞