大数据开发之oozie介绍

备注:
CDH 6.3.1
oozie 5.1.0

一.oozie简介

Oozie是一个基于工作流引擎的开源框架,是由Cloudera公司贡献给Apache的,它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。
所谓工作流,即是指数据import进HDFS,然后用hive分析,然后将分析结果集export,把不同的结果集合并成最终结果,将不同的业务进行编排。Oozie的工作流任务是DAG(有向无环图)。
所谓调度,即是指对作业或任务的定时执行,或者是事件的触发执行。触发执行的时机:在指定时间触发执行,或者当某目录下有数据集时触发执行。
Oozie集成了Hadoop的很多框架,如Java MapReduce、Streaming MapReduce、Pig、Hive、Sqoop、Distcp。一个Oozie Job也是一个MapReduce程序,仅仅只有map任务的程序,是分布式可扩展的。针对不同类型的任务编写的workflow,可以写成模板来直接套用。
Oozie同JBoss jBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等。Oozie定义了控制流节点(Control Flow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束,以及控制流程的执行路径(Execution Path),如decision、fork、join等;而动作节点包括Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、eMail和Oozie子流程。

二.oozie各个版本架构

2.1 v1

Oozie v1 is a server based Workflow Engine specialized in running workflow jobs with actions that execute Hadoop Map/Reduce and Pig jobs.

image.png

2.2 v2

Oozie v2 is a server based Coordinator Engine specialized in running workflows based on time and data triggers. (e.g. wait for my input data to exist before running my workflow).

image.png

2.3 v3

Oozie v3 is a server based Bundle Engine that provides a higher-level oozie abstraction that will batch a set of coordinator applications. The user will be able to start/stop/suspend/resume/rerun a set coordinator jobs in the bundle level resulting a better and easy operational control.

v3提供了一个更高级别的抽象Oozie,将批处理一组协调应用程序

image.png

image.png

参考

1.http://oozie.apache.org/docs/5.1.0/index.html
2.https://blog.csdn.net/gongxifacai_believe/article/details/81073414
3.https://blog.csdn.net/wdr2003/article/details/79711669

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值