大数据平台架构与原型实现-读书笔记10(完结)

本文介绍了大数据作业调度工具Oozie、Azkaban和Airflow的特点与应用场景。Oozie面向Hadoop生态,Azkaban轻量级且权限控制良好,Airflow具有强大的扩展性和描述性。文章讨论了工作流的组织策略、工程结构,并阐述了作业调度的实现、部署与依赖管理,强调了基于事件的依赖优于传统的作业依赖管理方式。
摘要由CSDN通过智能技术生成

第10章 作业调度

一、技术堆栈与选型

       大数据平台上会存在大量形式多样的作业,这些作业会以Hive脚本、Shell脚本、Java程序等多种不同的形式存在,只有通过作业调度将它们串联在一起才能形成一个完整的数据流(Data Pipeline),从而驱动整个大数据平台运转。

1、Oozie

       Oozie是老牌的大数据作业调度工具,也是Hadoop生态圈早期唯一的工作流引擎,Oozie是完全面向Hadoop生态环境设计的,内置了很多面向Hadoop的组件,开发者可直接在Oozie里配置HDFS、Map-Reduce、Pig和Spark作业,也支持Java和SSH等通用型作业。Oozie对于大数据平台非常友好,基于输入和输出事件的作业触发机制会大大降低管理作业依赖的难度,但它的XML配置较为繁琐。

2、Azkaban

       Azkaban是LinkedIn开源的一款任务调度工具,最新的版本改用更简洁和高效的YAML文件配置。Azkaban相较于Oozie更轻量,但同样能调度HDFS、Map-Reduce、Pig作业。Azkaban的作业调度室基于时间的,不支持输入和输出事件,但可通过配置作业间的依赖关系解决。此外,Azkaban有比较好的权限控制体系,可控制用户对作业的读、写、执行等权限。

3、Airflow

       Airflow有比较好的扩展机制,大数据平台上的各种主流作业类型都可找到相应的支持插件。Airflow基于有向无环图(DAG)设计工作流,通过DAG可有效地设置任务依赖关系。Airflow使用Python描述作业,相比于Oozie的XML和Azkaban的YAML要有更强的描述性,但门槛也相对较高。

二、工作流的组织策略<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值