gpt4 book ai didi

java - Hadoop,在单个作业中链接多个作业

转载 作者:行者123 更新时间:2023-12-02 21:52:56 24 4
gpt4 key购买 nike

我正在尝试将多个作业链接到Hadoop中的单个作业(我正在使用API​​版本1.2.1)。
我碰到了有关该主题的文章,请参阅here

我的主要类(class)如下:http://pastebin.com/C21PKM1j(我做了一次小小的清理并重新排列以使其更具可读性)
我正在使用Cloudera演示VM。在使用链接之前,我的简单工作效果很好。
此版本仅需10到20秒即可完成,没有任何错误,并且日志文件中没有任何有值(value)的信息。
我敢肯定,实际上没有一项工作可以启动,但是我不知道为什么。

编辑:根本不创建输出目录。

编辑:我将jobRunner和handleRun片段包含在我的代码中,以便从here进行调试。它运行两次迭代(我两次看到“仍在运行”),然后正常退出。

编辑:我像老板一样在Google上工作了几个小时。似乎有许多“可行的”示例,hadoop版本和正确的API调用引起了问题(hadoop-core.jar中出现了许多同名的类)。

最佳答案

This答案可能会对您有所帮助。根据您使用的API,您必须不断更改 map 并使用setMapperClass和setReducerClass减少类并提交作业。另外,如果要将上一个作业的输出作为下一个作业的输入,请使用字符串变量动态地提供输出路径(如果不希望使用此部分,则可以进行脚本编写)

    String input=args[0];
String out=args[1];
String output = out+"job1";
public static String OUTPUT_FILE_NAME = "/part-00000";

以下是旧API
  /*code for changing mapper and reducer classes*/        
FileInputFormat.setInputPaths(conf, new Path(input));
FileOutputFormat.setOutputPath(conf, new Path(output));
JobClient.runJob(conf);
input= output+OUTPUT_FILE_NAME;
output = out + "job2";
......
......

关于java - Hadoop,在单个作业中链接多个作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18464542/

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