HAWQ实践——自动调度工作流(OozieFalcon)
Posted wzy0623
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAWQ实践——自动调度工作流(OozieFalcon)相关的知识,希望对你有一定的参考价值。
一旦数据仓库开始使用,就需要不断从源系统给数据仓库提供新数据。为了确保数据流的稳定,需要使用所在平台上可用的任务调度器来调度ETL定期执行。调度模块是ETL系统必不可少的组成部分,它不但是数据仓库的基本需求,也对项目的成功起着举足轻重的作用。本篇说明如何使用HDP中的Oozie和Falcon服务实现ETL执行自动化。一、Oozie简介
Oozie是一个管理Hadoop作业、可伸缩、可扩展、可靠的工作流调度系统,它内部定义了三种作业:工作流作业、协调器作业和Bundle作业。工作流作业是由一系列动作构成的有向无环图(DAGs),协调器作业是按时间频率周期性触发Oozie工作流的作业,Bundle管理协调器作业。Oozie支持的用户作业类型有Java map-reduce、Streaming map-reduce、Pig、 Hive、Sqoop和Distcp,及其Java程序和shell脚本或命令等特定的系统作业。1. 为什么使用Oozie
使用Oozie主要基于以下两点原因:- 在Hadoop中执行的任务有时候需要把多个MapReduce作业连接到一起执行,或者需要多个作业并行处理。Oozie可以把多个MapReduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。
- 从调度的角度看,如果使用crontab的方式调用多个工作流作业,可能需要编写大量的脚本,还要通过脚本来控制好各个工作流作业的执行时序问题,不但不好维护,而且监控也不方便。基于这样的背景,Oozie提出了Coordinator的概念,它能够将每个工作流作业作为一个动作来运行,相当于工作流定义中的一个执行节点,这样就能够将多个工作流作业组成一个称为Coordinator Job的作业,并指定触发时间和频率,还可以配置数据集、并发数等。
2. Oozie的体系结构
Oozie的体系结构如图1所示。
以上是关于HAWQ实践——自动调度工作流(OozieFalcon)的主要内容,如果未能解决你的问题,请参考以下文章
对比HiveSpark和Impala,为什么选HAWQ | HAWQ实战系列