第2节 azkaban调度:1、azkaban的调度任务使用

2.4 Azkaban实战

Azkaba内置的任务类型支持command、java

Command类型单一job示例

创建job描述文件

创建文本文件,更改名称为mycommand.job

注意后缀.txt一定不要带上,保存为格式为UFT-8 without bom

内容如下

type=command

command=echo 'hello world'

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

创建project并上传压缩包

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

首先创建project

上传zip包

启动执行job

Command类型多job工作流flow

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

第一个job:foo.job

type=command

command=echo 'foo'

第二个job:bar.job依赖foo.job

type=command

dependencies=foo

command=echo 'bar'

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

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

4、启动工作流flow

HDFS操作任务

1、创建job描述文件fs.job

type=command

command=/export/servers/hadoop-2.6.0-cdh5.14.0/bin/hadoop fs -mkdir /azkaban

2、将job资源文件打包成zip文件

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

4、启动执行该job

MAPREDUCE任务

Mr任务依然可以使用command的job类型来执行

1、创建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

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

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

4、启动job

HIVE脚本任务

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

azkaban的定时任务

使用azkaban的scheduler功能可以实现对我们的作业任务进行定时调度功能

 

 

*/1 * ? * *  每分钟执行一次定时调度任务

0 1 ? * *  每天晚上凌晨一点钟执行这个任务

0 */2 ? * *  每隔两个小时定时执行这个任务

30 21 ? * * 每天晚上九点半定时执行这个任务

注:可以网上搜索在线crontab表达式生成器。

猜你喜欢

转载自www.cnblogs.com/mediocreWorld/p/11087073.html
今日推荐