azkaban使用案例

一、Command类型的单一job

command1.job

#command.job
type=command
command=bash hello.sh


hello.sh

#!/bin/bash
echo 'hello azkaban'


将job资源文件打包成zip文件:

image


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

image

image


启动执行该job

image

image


这里直接执行,执行完后可以查看:

image

image


二、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包


启动工作流

image


三、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

猜你喜欢

转载自www.cnblogs.com/weiyiming007/p/12165362.html