azkaban使用案例

一、Command类型的单一job

command1.job

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

hello.sh

#!/bin/bash
echo 'hello azkaban'

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

azkaban使用案例

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

azkaban使用案例

azkaban使用案例

启动执行该job

azkaban使用案例

azkaban使用案例

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

azkaban使用案例

azkaban使用案例

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

启动工作流

azkaban使用案例

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

azkaban使用案例
[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
azkaban使用案例

创建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包

启动工作流

最后查看执行结果:

azkaban使用案例
[root@node1 files]# hdfs dfs -text /azaz/output/part-r-00000
hbase    1
hello    2
hive    1
linux    1
mysql    2
word    1
azkaban使用案例

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

azkaban使用案例
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;
azkaban使用案例

job文件:hivef.job

# hivef.job
type=command
command=/opt/hive-2.1.1/bin/hive -f 'test.sql'

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

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

启动job

查看结果:

azkaban使用案例
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
azkaban使用案例

 

 
  • 相关阅读:
    react的路由权限控制
    react的路由中的switch和exact的使用
    react中antd的表格自定义展开
    webstorm的git操作使用
    ES6的相关语法
    vue导出文件下载
    vue如何解析xml文件 x2js
    ES6模板字符串
    彻底卸载微软拼音输入法
    systemverilog新增的always_comb,always_ff,和always_latch语句
  • 原文地址:https://www.cnblogs.com/javalinux/p/14993758.html