几种大数据ETL工作流调度系统的介绍和对比

本文介绍了ETL工作流调度系统的重要性,并对比了开源的Airflow、Azkaban和Dolphin Scheduler的架构、工作原理及其特点。Azkaban简单适合中小业务,Airflow灵活适合Python环境,Dolphin Scheduler有清晰UI适合Java背景的公司,但其Master可能面临CPU压力。
摘要由CSDN通过智能技术生成
  1. 什么是ETL工作流系统
    做过ETL的同学都知道,我们在处理数据的时候往往都是分成好几个任务步骤来完成一个数据处理流程。多个任务单元之间往往有着强依赖关系,上游任务执行并成功,下游任务才可以执行。比如上游任务结束后拿到 A 结果,下游任务需结合 A 结果才能产出 B 结果,因此下游任务的开始一定是在上游任务成功运行拿到结果之后才可以开始。而为了保证数据处理结果的准确性,就必须要求这些任务按照上下游依赖关系有序、高效的执行。
    ETL调度系统就是这样可以组织任务前后依赖关系,让任务有序执行的关键系统。
    在开源的世界里,目前有这三种调度系统来供我们免费使用,它们是,Airflow,Azkaban,Dolphin scheduler。下面我分别来介绍一下这三个调度系统的架构和工作原理

  2. AZKABAN
    Azkaban 是国外开源的一个工作流调度系统比较成熟。
    先上一张架构图 :

主要有如下几种组件构成:

Web Server : 主要包括工作流配置管理,用户认证,定时调度,触发任务执行功能
Executor:处理实际工作流和任务的执行
Database: 存储工作流和任务的元信息
具体执行流程:

【1】调度器触发或者人工触发,生成工作流实例信息出入数据库
【2】更具LB选择一个Executor来执行该工作流实例
【3】执行状态和结果信息存入数据
【4】Web server查询数据库告知任务状态信息
架构特点:

Web server : 通过quartz来实现分布式调度 ,所有可以水平扩展,不存在单点问题
Executor : 可以水平扩展,不存在单点问题
工作流上的任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值