gpt4 book ai didi

hadoop - 实现高级作业控制框架以帮助链接多个 Map-Reduce 作业是什么意思?

转载 作者:可可西里 更新时间:2023-11-01 14:15:14 24 4
gpt4 key购买 nike

我是 Hadoop 的新手,目前分配给我的项目是

“实现高级作业控制框架以帮助链接多个 Map-Reduce 作业,即调查/改进现有的 org.apache.hadoop.mapred.jobcontrol 包。”

此项目列在随机想法下的项目建议页面上 http://wiki.apache.org/hadoop/ProjectSuggestions#research_projects

我的困惑是,我是否必须构建 Oozie 的高级版本(我认为这是一个链接多个作业的作业控制框架)或类似的东西,或者这是否意味着完全不同的东西。

我错过了什么?

最佳答案

看起来您所指的项目可能与 this Jira ticket 有关.

现在JobControl class非常简陋,它缺少一些可以让用户的生活更轻松的功能。例如:

  • 能够在工作状态更改时获得通知:现在您只需调用 JobControl.run 即可,但在实践中,如果我能够在工作发生某些变化时得到通知,那可能会很有趣.
  • 重新提交失败的作业:您可以实现一个工具,在作业失败时/如果作业失败时重新提交作业,例如,您可以在 ControlledJob 类中设置最大重试次数参数并最多重试在发送失败通知之前的那个时间点。
  • 很多作业都是定期运行的,每周、每天、每小时……这通常是通过 crontab 完成的,因此将此功能嵌入到 Hadoop 中可能会很有趣,例如用户可以设置一个通过指定一个周期重复执行作业,JobControl 将以这些固定的时间间隔运行它。
  • 也许有一个 UI 来可视化您的工作流程和每个工作的依赖关系,哪些步骤已经完成,哪些还没有。
  • 不仅能够启动 Map/Reduce 作业,还能启动 Hive、Pig 等功能,这可能会很有趣,这样您就可以为用户提供一个通用界面来提交任何类型的作业并无缝监控它们。<

最后我认为您不需要重新发明一个全新的框架,JobControl 类已经提供了一个很好的起点。尝试从用户的角度思考,您可以做些什么来使提交和管理作业变得更容易和更短。这里和工单中的想法只是示例,您可以自由发挥自己的想法。

Oozie 而言,它为您提供了控制作业流的更高抽象,但它的设置也更复杂,应该保留用于更复杂的作业。我知道有些人对使用 Oozie 犹豫不决,因为它会增加应用程序的开销。最大的区别还在于 Oozie 是服务器,而 JobControl 仅在客户端计算机上运行,​​这是额外的开销。虽然上面提到的一些功能以一种或另一种方式存在于 Oozie 中,但无需像 Oozie 这样的额外工作就可以使其简单并在客户端计算机上运行的能力在我看来是您项目的关键。

关于hadoop - 实现高级作业控制框架以帮助链接多个 Map-Reduce 作业是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14293841/

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