大数据协作框架之Oozie
2017-09-02 10:35
239 查看
一、Oozie的介绍
一个基于工作流引擎的开源框架,是由Cloudera公司贡献给Apache的,它能够提供对HadoopMapReduce和Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。Oozie工作流定义,同JBoss jBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等。Oozie定义了控制流节点(ControlFlow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束,以及控制流程的执行路径(Execution Path),如decision、fork、join等;而动作节点包括Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、eMail和Oozie子流程。
二、Oozie的架构
Oozie三大实现功能:1)Workflow:顺序执行流程节点;2)Coordinator:定时触发workflow;3)Bundle Job:绑定多个coordinator。
Workflow:
Coordinator:
Bundle:
Oozie Server组件:
三、总结
在实际的企业项目中,由于业务需求的增多,MapRedcue/Hive Job较多,需要定时调度执行,并且某些业务功能需要多个Job进行协作完成,此时工作流调度框架Oozie正好为我们很好的解决此问题。Oozie功能很强大,在实际项目中只需掌握最基本使用最多的就好,其中WorkFlow中MapRedcueAction和Shell Action最为常用,使用时注意workflow.xml文件编写,依赖包和文件。Oozie中调度功能很强大,不仅支持基于时间的调度,还是支持基于数据可用性的调度,目前企业使用最多的就是基于时间调度。
相关文章推荐
- 【大数据系统架构师】1.4 大数据协作框架
- 大数据协作框架之flume详解
- 大数据协作框架Hue
- Oozie协作框架
- 大数据协作框架之Oozie篇
- 大数据协作框架之Flume
- 大数据协作框架
- 大数据协作框架简介
- MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
- spring 框架的xml文件如何读取properties文件数据
- Jersey框架put请求发送JSON数据
- CYQ.Data 数据框架 性能评测
- Predix数据可视化框架
- Struts2教程5:使用Validation框架验证数据
- Android数据绑定框架DataBinding
- WebMagic爬虫框架及javaEE SSH框架将数据保存到数据库(二)
- Spring - Java/J2EE Application Framework 应用框架 第 4 章 属性编辑器,数据绑定,校验与BeanWeapper(Bean封装)
- Ajax异步添加数据(SSM框架)
- springMVC框架下JQuery传递并解析Json数据