分享

使用Oozie提交多个MapReduce作业时,如何将各种MapReduce的输出连接起来?

hapjin 发表于 2015-11-13 17:08:16 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 15867
我在一个workflow里面指定了若干个MapReduce action,后面的MapReduce action 需要依赖前面的MapReduce action的处理结果。

①Oozie是怎么知道 后面的MapReduce action 输入就是前面的MapReduce action的输出的?

②前面 MapReduce action 的处理结果能否直接作为后面的 MapReduce action的输入。而不是将处理结果序列化到HDFS上之后,再由后面的action去读取?(即形成管道的形式连接起来?)

来自群组: Hadoop技术组

已有(2)人评论

跳转到指定楼层
arsenduan 发表于 2015-11-13 19:07:13




楼主首先需要明白Oozie是什么?
Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。

DAG是它的原理,spark也应用了DAG,当然这是后话。

Oozie协调系统(Coordinator system)让用户可以基于这些参数来定义工作流执行计划。如何知道的
这个回答了第一个问题
①Oozie是怎么知道 后面的MapReduce action 输入就是前面的MapReduce action的输出的?



②前面 MapReduce action 的处理结果能否直接作为后面的 MapReduce action的输入。而不是将处理结果序列化到HDFS上之后,再由后面的action去读取?(即形成管道的形式连接起来?)
这个需要了解DAG

多个随后运行的工作流的输出会成为下一个工作流的输入。把这些工作流连接在一起,会让系统把它作为数据应用的管道来引用。Oozie协调程序支持创建这样的数据应用管道。
这里说明Oozie有自己机制,通过数据应用管道来实现action的



参考

什么是Oozie?Oozie简介
http://www.aboutyun.com/thread-6847-1-1.html







回复

使用道具 举报

wx_fZUnUQ28 发表于 2019-5-22 09:07:29
楼主搞清楚了吗?我也挺疑惑 一直不太会配
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条