大数据任务调度工具azkaban初步使用

1.azkaban是什么

是一个简单的任务调度器,批量工作流任务调取器, java开发, 包含三个部分,webserver,dbserver,executorserver,linkin的开源项目 使用一种kv格式的文件来建立任务之间的相互关系, 提供了web界面用于跟踪和维护工作流

2.使用场景

多个任务存在相互依赖的关系,比如ABCD四个任务,AB任务没有任何关系,C任务需要使用AB任务的数据,D任务需要使用C任务的数据,这样的话使用shell脚本加crontab就不太容易实现,这个时候就可以使用azkaban来调度这种类型的任务(类似一个有向无环图)

3.有向无环图(DAG)

有向无环图指的是一个无回路的有向图 类似下图:

4.简单使用

步骤如下: 1.创建一个文件夹test(你的项目) 2.初始化项目(创建一个文件) az.project

azkaban-flow-version: 2.0

3.创建任务流文件(主要是通过该文件进行任务调度) test.flow

nodes:
- name: JobA
  type: command
  config:
    command: echo "hello"

4.在页面端创建一个空的项目

5.将test文件夹压缩成zip文件 6.上传任务

7.点击执行任务

经验分享 程序员 微信小程序 职场和发展