一、 Command 类型
1. 单一 job 示例
(1) 创建 job 描述文件
[tyhawk@master text]$ vi command.job
输入以下内容:
#command.job
type=command
command=ehco
~
(2) 将 job 资源文件打成 zip 包
[tyhawk@master text]$ zip commadnd.zip command.job
adding: command.job (deflated 23%)
[tyhawk@master text]$ ll
total 8
-rw-rw-r--. 1 tyhawk tyhawk 202 Mar 27 11:48 commadnd.zip
-rw-rw-r--. 1 tyhawk tyhawk 39 Mar 27 11:46 command.job
(3) 复制到 windows 本地
sz commadnd.zip
我把其放到了E:盘下:
(4) 通过 Azkaban 的 Web 管理平台创建 project 并上传 job 压缩包
- 创建 project
(2)上传 zip
启动 job:
执行成功:
查看结果:
2. 多 job 工作流 flow
(1) 创建有依赖关系的多个 job 描述
[tyhawk@master text]$ vi stepone.job
#stepone.job
type=command
command=echo 'stepone'
(2) commadnd.zip
第一个job:stepone.job
第二个job:steptwo.job依赖stepone.job
[tyhawk@master text]$ vi steptwo.job
#steptwo.job
type=command
dependencies=stepone
command=echo 'steptwo'
(3) 将所有的资源打成一个zip包
[tyhawk@master text]$ zip dependencies.zip stepone.job steptwo.job
adding: stepone.job (deflated 18%)
adding: steptwo.job (deflated 14%)
[tyhawk@master text]$ ll
total 20
-rw-rw-r--. 1 tyhawk tyhawk 202 Mar 27 11:48 commadnd.zip
-rw-rw-r--. 1 tyhawk tyhawk 39 Mar 27 11:46 command.job
-rw-rw-r--. 1 tyhawk tyhawk 423 Mar 27 12:26 dependencies.zip
-rw-rw-r--. 1 tyhawk tyhawk 49 Mar 27 12:22 stepone.job
-rw-rw-r--. 1 tyhawk tyhawk 71 Mar 27 12:25 steptwo.job
(4) 复制到 windows 本地
sz命令
我把其放到了E:盘下:
(5) 创建 project 并上传 job 压缩包
stepone执行结果:
steptwo执行结果:
二、操作 HDFS 任务
(1) 创建 job 描述文件
[tyhawk@master text]$ vi hdfs.job
#hdfs.job
type=command
command=hadoop fs -mkdir -p /azkaban/hdfs
~
(2) 将 job 资源文件打成 zip 包
[tyhawk@master text]$ zip hdfs.zip hdfs.job
adding: hdfs.job (deflated 12%)
[tyhawk@master text]$ ll
total 28
-rw-rw-r--. 1 tyhawk tyhawk 202 Mar 27 11:48 commadnd.zip
-rw-rw-r--. 1 tyhawk tyhawk 39 Mar 27 11:46 command.job
-rw-rw-r--. 1 tyhawk tyhawk 422 Mar 27 12:32 dependencies.zip
-rw-rw-r--. 1 tyhawk tyhawk 69 Mar 27 12:39 hdfs.job
-rw-rw-r--. 1 tyhawk tyhawk 227 Mar 27 12:40 hdfs.zip
-rw-rw-r--. 1 tyhawk tyhawk 49 Mar 27 12:22 stepone.job
-rw-rw-r--. 1 tyhawk tyhawk 70 Mar 27 12:32 steptwo.job
(3). 复制到 windows 本地
sz命令
我把其放到了E:盘下:
(4)创建 project 并上传 job 压缩包
执行结果:
[tyhawk@master text]$ hadoop fs -ls /azkaban
Found 1 items
drwxr-xr-x - tyhawk supergroup 0 2019-03-27 12:48 /azkaban/hdfs
HDFS验证:
三、操作 MapReduce 任务
(1)创建 job 描述文件
[tyhawk@master text]$ vi mapreduce.job
#mapreduce.job
type=command
command=hadoop jar /home/tyhawk/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 10 10
~
(2) 将 job 资源文件打成 zip 包
[tyhawk@master text]$ zip mapreduce.zip mapreduce.job
adding: mapreduce.job (deflated 30%)
[tyhawk@master text]$ ll
total 36
-rw-rw-r--. 1 tyhawk tyhawk 202 Mar 27 11:48 commadnd.zip
-rw-rw-r--. 1 tyhawk tyhawk 39 Mar 27 11:46 command.job
-rw-rw-r--. 1 tyhawk tyhawk 422 Mar 27 12:32 dependencies.zip
-rw-rw-r--. 1 tyhawk tyhawk 65 Mar 27 12:47 hdfs.job
-rw-rw-r--. 1 tyhawk tyhawk 225 Mar 27 12:47 hdfs.zip
-rw-rw-r--. 1 tyhawk tyhawk 141 Mar 27 15:05 mapreduce.job
-rw-rw-r--. 1 tyhawk tyhawk 275 Mar 27 15:30 mapreduce.zip
-rw-rw-r--. 1 tyhawk tyhawk 49 Mar 27 12:22 stepone.job
-rw-rw-r--. 1 tyhawk tyhawk 70 Mar 27 12:32 steptwo.job
(3) 复制到 windows 本地
sz mapreduce.zip
我把其放到了E:盘
(4) 创建 project 并上传 job 压缩包
执行结果:
四、操作 Hive 脚本任务
(1) 创建 Hive 脚本
[tyhawk@master text]$ vi hive.sql
create database azhive;
use azhive;
create table azstudent(id int,name string,age int) row format delimited fields terminate
d by '\t';
load data local inpath '/home/tyhawk/student.txt' into table azstudent;
select * from azstudent;
(2) 创建 job 描述文件
[tyhawk@master text]$ vi hivef.job
#hivef.job
type=command
command=hive -f '/home/tyhawk/text/hive.sql'
(3) 将 job 资源文件打成 zip 包
[tyhawk@master text]$ zip hivef.zip hivef.job
adding: hivef.job (deflated 13%)
(4)student.txt内容
(5)复制到 windows 本地
[tyhawk@master text]$ sz hivef.zip
我把其放到了E:盘下:
(6) 创建 project 并上传 job 压缩包
执行结果:
五、设置调度时间
(1)创建project 并上传 job 压缩包
拿hdfs.job举例:
(2)设置调度时间
(3)查看
可以发现其是在我们设定的时间2019-03-27 16:17:06 执行的。