实战
Azkaba内置的任务类型支持command、java
Command 类型单一 Job 示例
Step 1: 创建 Job 描述文件
创建文本文件,更改名称为mycommand.job
注意后缀.txt一定不要带上,保存为格式为UFT-8 without bom
内容如下
type=command
command=echo 'hello world'
Step 2: 将job资源文件打包成zip文件
Step 3: 创建project并上传压缩包
通过azkaban的web管理平台创建project并上传job压缩包
首先创建project
上传zip包
Step 4: 启动执行job
Command 类型多 Job 示例
Step 1: 创建有依赖关系的多个job描述
第一个job:foo.job
type=command
command=echo 'foo'
第二个job:bar.job依赖foo.job
type=command
command=echo 'bar'
dependencies=foo
Step 2: 将所有job资源文件打到一个zip包中
Step 3: 在azkaban的web管理界面创建工程并上传zip包
Step 4: 启动工作流flow
HDFS 操作任务
Step 1: 1、创建job描述文件fs.job
type=command
command=/export/servers/hadoop‐3.1.1/bin/hdfs dfs ‐mkdir /azkaban
Step 2: 将job资源文件打包成zip文件
Step 3: 通过azkaban的web管理平台创建project并上传job压缩包
Step 4: 启动执行该job
MapReduce 任务
MR 任务依然可以使用command的job类型来执行
Step 1: 创建job描述文件,及mr程序jar包(示例中直接使用hadoop自带的examplejar)
type=command
command=/export/servers/hadoop‐3.1.1/bin/hadoop jar hadoop‐mapreduceexamples‐
3.1.1.jar pi 3 5
Step 2: 将所有job资源文件打到一个zip包中
Step 3: 在azkaban的web管理界面创建工程并上传zip包
Step 4: 启动job
Hive 脚本任务
Step 1: 创建job描述文件和hive脚本
Hive脚本: hive.sql
create database if not exists azhive;
use azhive;
create table if not exists aztest(id string,name string) row format
delimited fields terminated by '\t';
Step 2: Job描述文件:hive.job
type=command
command=/export/servers/apache‐hive‐3.1.1‐bin ‐f 'hive.sql'
Step 3: 将所有job资源文件打到一个zip包中
Step 4: 在azkaban的web管理界面创建工程并上传zip包
Step 5: 启动job
Azkaban 的定时任务
使用azkaban的scheduler功能可以实现对我们的作业任务进行定时调度功能
*/1 * ? * * 每分钟执行一次定时调度任务
0 1 ? * * 每天晚上凌晨一点钟执行这个任务
0 */2 ? * * 每隔两个小时定时执行这个任务
30 21 ? * * 每天晚上九点半定时执行这个任务