17.Azkaban实战

首先创建一个command.job文件

 

#command.job
type=command
command=echo it18zhang

 

 

 

然后打成zip压缩包

17.Azkaban实战

 

17.Azkaban实战

 

17.Azkaban实战

 

 17.Azkaban实战

17.Azkaban实战

上传刚刚打包的zip包

17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

 

上传完后可以执行他

17.Azkaban实战

可以定时执行

17.Azkaban实战

17.Azkaban实战

 

 

现在我们立马执行

17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

 

 

现在我们要执行一个脚本

新建一个commad1.job文件

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

 

再编写一个hello,sh脚本

#!/bin/bash
echo 'hello it18zhang~~~~' 

 

 

把两个文件都选上一起打包

17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

 

 上传刚刚打的zip包

17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

17.Azkaban实战

 

 执行

17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

 

 

 

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

 新建一个bar.job

# bar.job
type=command
dependencies=foo
command=echo bar

 

新建一个foo.job

# foo.job
type=command
command=echo foo

 

把这两个文件一起打成zip包

17.Azkaban实战

17.Azkaban实战

 

 

 17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

 

17.Azkaban实战

17.Azkaban实战

 

 

 17.Azkaban实战

17.Azkaban实战

 

17.Azkaban实战

 

HDFS操作任务

 新建文件fs.job

# fs.job
type=command
command=/opt/modules/hadoop-2.6.0/bin/hadoop fs -mkdir /azaz

 

 打包成zip包

17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

17.Azkaban实战

 

 

 17.Azkaban实战

 

 17.Azkaban实战

17.Azkaban实战

 

17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

17.Azkaban实战

 

 

   MAPREDUCE任务

先创建一个输入路径

17.Azkaban实战

 

 17.Azkaban实战

创建一个数据文件b.txt

 17.Azkaban实战

输入一些单词

17.Azkaban实战

 

 把b.txt文件上传到hdfs上

17.Azkaban实战

17.Azkaban实战

 

 创建mrwc.job文件

# mrwc.job
type=command
command=/opt/modules/hadoop-2.6.0/bin/hadoop  jar hadoop-mapreduce-examples-2.6.0.jar wordcount /wordcount/input /wordcount/azout

 

 

把这两个文件一起打包

17.Azkaban实战

 

在azkaban创建一个project

 17.Azkaban实战

17.Azkaban实战

 

17.Azkaban实战

 17.Azkaban实战

 

17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

 17.Azkaban实战

 17.Azkaban实战

 

17.Azkaban实战

 

 

可以看到执行成功了

17.Azkaban实战

 

 17.Azkaban实战

 

HIVE脚本任务

先创建目录

 

hadoop fs -mkdir -p /aztest/hiveinput

 

 

 

 

新建一个c.txt数据文件

17.Azkaban实战

17.Azkaban实战

 

 把c.txt文件上传到HDFS上

 17.Azkaban实战

17.Azkaban实战

 

 

 

 新建hivef.job

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

 

 

新建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; 

 

 

打包成hivef.zip

17.Azkaban实战

 

17.Azkaban实战

 

 

 17.Azkaban实战

 

 17.Azkaban实战

 

 17.Azkaban实战

 

17.Azkaban实战

 

 17.Azkaban实战

 

 

 17.Azkaban实战

17.Azkaban实战

 

 17.Azkaban实战

 

 

可以看到失败了,查看原因

17.Azkaban实战

 

 把本地hive的Lib目录下的mysql连接包的版本更换一下

17.Azkaban实战

 

 换成这个5.1.28版本

17.Azkaban实战

 

 再运行一次,同样失败了,但是hive和hdfs上出来了相应的结果,具有原因我也不懂

17.Azkaban实战

17.Azkaban实战

 

上一篇:Azkaban Condition Flow (条件工作流) 使用简介


下一篇:Azkaban学习之路(二)—— Azkaban 3.x 编译及部署