gpt4 book ai didi

hadoop - 在阶段1和2之间运行未MapReduced的任务

转载 作者:行者123 更新时间:2023-12-02 21:46:06 25 4
gpt4 key购买 nike

在我的mapReduce代码中,我需要一个在第1阶段运行reducer后运行的非并行任务。该任务在第1阶段需要reducers的输出。然后,我想在第2阶段的mappers和reducers中使用此任务的输出。任务不是并行任务,我不需要为其编写MapReduce代码。我应该编写代码的哪一部分?

最佳答案

因此,如果我理解得很好,您有两个单独的mapreduce工作?第一阶段一个,第二阶段第二?对于这种情况,很简单的解决方案是使用Oozie工作流程。我正在使用类似的工作流来查询外部api(无需运行prallel):

<workflow-app name="TEST" xmlns="uri:oozie:workflow:0.4">
<start to="Test"/>
<action name="Test">
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<main-class>com.test.Test</main-class>
<java-opts>-Xms128M -Xmx2048M</java-opts>
<arg>-d</arg>
<arg>${Date_Valid}</arg>
<file>/lib/api2.jar</file>
</java>
<ok to="end"/>
<error to="kill"/>
</action>
<kill name="kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>

只需将stage1作业放在此java作业之前,然后将stage2放在此之后。

希望能帮助到你

关于hadoop - 在阶段1和2之间运行未MapReduced的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25210234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com