调度框架Azkaban快速入门

本文是叩丁狼高级讲师林伟兵的原创文章,介绍了Azkaban调度框架,包括其解决的顺序执行问题、与Hadoop的集成、主要特性、架构组成以及下载和编译过程。Azkaban是一款由LinkedIn推出的批量工作流任务调度器,具有独立项目、易用界面、模块化设计等特点,适用于大数据分析中的工作流管理。
摘要由CSDN通过智能技术生成

作者:林伟兵 ,叩丁狼高级讲师。本文为原创文章,转载请注明出处。  

 

1. Azkaban概述

Azkaban技术产生前景:

​ 在大数据分析场景中,以ETL( Extract抽取 -Transform交互转换 -Load加载 )为例 ,数据的操作包含了如下流程:RDBMS ==>Sqoop ==>Hadoop ==>Sqoop ==>RDBMS/NoSQL/...,这里涉及了三个流程:数据抽取 ==> 数据清洗 ==> 数据入库

​ 这三个步骤出现了明显的顺序问题。假设数据抽取需要3h,数据清洗需要2h,数据入库需要1h。我们可以使用linux shell提供的crontab 来实现。他的优点是使用简单,缺点却有很多:

 1. 流程不便于跟踪和监控(流程某个环境出错没办法监控)。
    2. 在这个流程中有些模块执行的时间可能出现延迟/提前。比如数据清洗预测需要2h,结果用了3h,此刻数据入库在前一个任务还没执行完就已经开始执行了;比如清洗预测需要2h,结果用了1h,导致后面的流程出现无效等待的状态。

因此,像Azkaban这样的调度框架在我们数据平台中就扮演着很重要的角色。

大数据中常见的调度框架

大数据中常见的调度框架,最常见的就是crontab。除此之外还有很多集成框架:

  1. Quartz:Quartz是OpenSymphony[ˈəʊpən ˈsɪmfəni] 开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。
  2. Azkaban:Azkaban是由Linkedin公司推出的一个批量工作流任务调度器, 其使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流 。
  3. Oozie:Oozie是一个工作流引擎服务器,用于运行hadoop map/reduce和hive等任务工作流。同时Oozie还是一个java web程序,运行在java servlet容器中,如tomcat中。Oozie以action为基本单位,可以将多个action构成一个DAG图的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值