Azkaban的简单实战案例
Azkaban安装成功以后就可以进行任务调度了,这里简单演示几个调度任务。
- 单一job示例
创建文本文件,更改名称为mycommand.job
内容如下
type=command
command=echo 'hello world'
将job资源打包成zip文件
通过azkaban的web管理平台创建project并上传job压缩包
首先创建project
上传zip包
启动执行job
2. 多job工作流flow
创建有依赖关系的多个job描述
第一个job:foo.job
type=command
command=echo 'foo'
第二个job:bar.job依赖foo.job
type=command
dependencies=foo
command=echo 'bar'
将所有job资源文件打到一个zip包中,foobar.zip
在azkaban的web管理界面创建工程并上传zip包
启动工作流flow
3. HDFS操作任务
创建job描述文件fs.job
type=command
command=/export/servers/hadoop-2.6.0-cdh5.14.0/bin/hadoop fs -mkdir /azkaban
将job资源文件打包成zip文件 fs.zip
通过azkaban的web管理平台创建project并上传job压缩包
启动执行该job
4. MAPREDUCE任务
创建job描述文件,及mr程序jar包(示例中直接使用hadoop自带的example jar)
type=command
command=/export/servers/hadoop-2.6.0-cdh5.14.0/bin/hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.14.0.jar pi 3 5
将所有job资源文件打到一个zip包中
在azkaban的web管理界面创建工程并上传zip包
启动job
5. HIVE脚本任务
创建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';
Job描述文件:hive.job
type=command
command=/export/servers/hive-1.1.0-cdh5.14.0/bin/hive -f 'hive.sql'
将所有job资源文件打到一个zip包中
在azkaban的web管理界面创建工程并上传zip包
启动job
6. azkaban的定时任务
使用azkaban的scheduler功能可以实现对我们的作业任务进行定时调度功能
选择时间
*/1 * ? * * 每分钟执行一次定时调度任务
0 1 ? * * 每天晚上凌晨一点钟执行这个任务
0 */2 ? * * 每隔两个小时定时执行这个任务
30 21 ? * * 每天晚上九点半定时执行这个任务