Azkaban初认识

举报
WHYBIGDATA 发表于 2023/03/18 08:29:31 2023/03/18
【摘要】 Azkaban初认识

Azkaban初认识



Azkaban是什么?

Azkaban是一个开源的分布式工作流管理器,在LinkedIn实施,以解决Hadoop作业依赖性的问题。我们有一些工作需要按顺序运行,从ETL工作到数据分析产品。

为什么需要工作流调度系统?

(1)一个完整的数据分析系统通常都是由大量任务单元组成:

比如说:Shell 脚本程序,Java 程序,MapReduce 程序、Hive 脚本等

(2)各任务单元之间存在时间先后及前后依赖关系

(3)为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;

举个栗子:

  • 假设某个业务系统每天产生20G原始数据,我们每天都要对其进行处理

    • 先将原始数据同步到HDFS上(HDFS
    • 对原始数据进行计算(MapReduce
    • 生成的数据以分区表的形式存储到多张Hive表中(Hive表)
    • 多张Hive表进行Join操作得到一个`明细数据大表(Hive大表)
    • 将明细数据进行复杂的统计分析,得到结果报表信息(结果报表)
    • 将统计分析得到的结果数据同步到业务系统中(业务系统)
  • 总结:为了很好地组织起这样的复杂执行计划,我们就迫切需要一个工作流调度系统来调度执行相应的任务

1.png

常见的工作流调度系统

  • 简单的任务调度:直接使用 Linux 的 Crontab 来定义;

  • 复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如 Ooize、Azkaban、Airflow、DolphinScheduler 等。

Azkaban 与 Oozie的对比

总体来说,Ooize 相比 Azkaban 是一个重量级的任务调度系统,功能全面,但配置使用 也更复杂。如果可以不在意某些功能的缺失,轻量级调度器 Azkaban 是很不错的候选对象。

总的来说,使用Azkaban而不是Ooize 的最大原因是它符合了我们的基本日常使用需求,并且它是轻量级的调度系统,不会过度地加大我们的系统压力,以免造成不必要的故障。

全文结束!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。