MR的工作依赖

11 views
Skip to first unread message

feng lu

unread,
Jul 11, 2012, 6:36:59 AM7/11/12
to hadoo...@googlegroups.com
大家好:

不知道这个问题是不是叫“MR的工作依赖”,如果不是这么叫的,请指出,谢谢。

现在有这样的需求,有四个MR任务,这里可以叫MR1,MR2,MR3,MR4,前三个MR任务可以并行运行,而MR4要等前三个MR任务都完成以后才能启动,不知道Hadoop中有没有现成的模型可以使用,或者另的第三方库,不然要自己写了。

不知道大家有没有遇到过相同的问题。

--
Don't Grow Old, Grow Up... :-)

zhang辉张

unread,
Jul 11, 2012, 6:41:51 AM7/11/12
to hadoo...@googlegroups.com

启动任务的脚本等前三个结束了,再启动第四个,可以不。

--
You received this message because you are subscribed to the Google Groups "Hadoop In China" group.
To post to this group, send email to hadoo...@googlegroups.com.
To unsubscribe from this group, send email to hadooper_cn...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/hadooper_cn?hl=en.

5

unread,
Jul 11, 2012, 6:43:20 AM7/11/12
to hadoo...@googlegroups.com

feng lu

unread,
Jul 11, 2012, 7:02:12 AM7/11/12
to hadoo...@googlegroups.com
嗯,这个感觉应该可行,但是启动任务的脚本怎么知道前三个是否已经结束了,这个要自己实现有点困难,最简单的就是串行运行,MR1->MR2->MR3->MR4,但当任务有多层詥关系的时候,就有点麻烦了。呵呵

2012/7/11 zhang辉张 <zhang...@gmail.com>

feng lu

unread,
Jul 11, 2012, 7:10:46 AM7/11/12
to hadoo...@googlegroups.com
这个感觉可以,先研究一下。多谢了。

zhang辉张

unread,
Jul 11, 2012, 9:51:53 AM7/11/12
to hadoo...@googlegroups.com

启动的时候记录一下jobid,然后定时检查结束的jobid,找到成功结束的三个之后,启动第四个job.

feng lu

unread,
Jul 11, 2012, 9:55:03 PM7/11/12
to hadoo...@googlegroups.com
嗯,这个可行,试一下。多谢了。

发现了一个Cascading的工具,它抽象出来的MapReduce逻辑模型,并且可以提供工作流管理层用于处理像中间数据看看怎么。

zhang辉张

unread,
Jul 12, 2012, 8:54:34 PM7/12/12
to hadoo...@googlegroups.com
这个看似相对复杂点哈,我们一般主要用streaming的方式提交任务,java用的相对少,只有需要定制Inputformat的时候,才会用到java

2012/7/12 feng lu <amuse...@gmail.com>

ransom.hezhiqiang

unread,
Jul 29, 2012, 8:33:55 AM7/29/12
to hadoo...@googlegroups.com

这个其实就是MR的任务流,可以看作一个DAG图。

目前,HivePig都可以解决这个问题,这两个一个从sql一个从脚本都解决了这个问题。

还有,oozie也是专门解决这个问题的,这个呢,就是纯粹的MR了。

当然还有其他方式,可以去找下。如果没什么更多的需求,oozie就够了,如果觉得MR任务写起来比较复杂,那么就是hive或者pig了。

--

Reply all
Reply to author
Forward
0 new messages