Oozie工作流之理论篇
2017-04-27 22:50
253 查看
Oozie工作流之理论篇
简介
Apache Oozie 是一个面向Hadoop平台的工作流引擎框架。它能够提供对Hadoop Mapreduce、Pig Jobs、Spark、Sqoop、Hive的任务调度与协调。
Oozie工作流是放置在控制依赖DAG(有向无环图Direct Acyclic Graph)中的一组动作,如Hadoop的Map/Reduce作业:
对于Oozie工作流(workflow)来说,一个工作流就是一些活动(actions)的容器,其中活动包括Hadoop Map/Reduce jobs或者Pig jobs等,然后通过有向无环图来控制依赖,比如一个活动必须要在另一个活动结束之后才能运行。
定义
Oozie工作流定义,同JBoss jBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等。控制流节点
Oozie定义了控制流节点(Control Flow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束(start,end和fail节点),以及工作流的执行路径(execution path)机制,如:decision,fork,join节点动作节点
Oozie的动作节点提供了工作流触发实际执行计算任务的途径,并且可以支持多种不同的动作,如:Hadoop map-reduce,Pig,Sqoop以及子工作流。还可以支持额外的扩展。运行
Oozie工作流作业是在远程系统中运行的,也就是说所有由动作节点触发的计算和处理人的都不在Oozie之中。而是如:Hadoop平台,将workflow.xml工作流定义文件上传到HDFS文件系统目录,然后运行Map/Reduce作业,远程系统通过回调的方式通知Oozie活动的运行情况。
触发
Oozie工作流可以根据时间与数据变化等外部条件进行触发。一些工作流是根据需要触发的,但是大多数情况下,我们有必要基于一定的时间段和(或)数据可用性和(或)外部事件来运行它们。Oozie协调系统(Coordinator system)让用户可以基于这些参数来定义工作流执行计划。Oozie协调程序让我们可以以谓词的方式对工作流执行触发器进行建模,那可以指向数据、事件和(或)外部事件。工作流作业会在谓词得到满足的时候启动。
相关文章推荐
- .在重新部署了oozie-site.xml之后,不能够寻找到工作流作业对应的hadoop jobid
- 工作流调度框架 Oozie
- Hue上的Oozie构建工作流和定时任务步骤
- Oozie workflow工作流action间参数传递实现
- hadoop上的工作流调度——oozie
- Oozie分布式工作流——Action节点
- 工作流理论总结
- Hue上的Oozie如何构建工作流和定时任务
- oozie 编程方式的工作流
- 工作流理论总结
- 工作流 workflow 理论知识
- 工作流调研 oozie vs azkaban
- oozie 工作流调试及报错
- 工作流调度框架Oozie
- 工作流调度引擎---Oozie
- 针对 Hadoop 的 Oozie 工作流管理引擎的实际应用
- 从对工作流理论发展的理解到jBPM4的设计思想
- Oozie分布式工作流——从理论和实践分析使用节点间的参数传递
- Hadoop 的 Oozie 工作流管理引擎的实际应用(一)
- 高可用Hadoop平台-Oozie工作流之Hadoop调度