hadoop文档

wbgh16ku  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(615)

**结束了。**这个问题离题了。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

8年前关门了。
改进这个问题
我从hadoop框架开始,我的任务是为该框架编写map-reduce应用程序并提交它。我必须使用hadoop的0.22.0版本。我只是在学习基本的概念和api。然而,我发现学习它和编写一些原型非常困难,因为官方文档和api javadocs都是过时的、不完整的、通常混乱的甚至不存在的。
这里有一些我不理解的想法:hadoop0.22.0的mapreduce教程使用类的构造函数(这里,第101行) Job 这是不赞成的。所有其他构造函数也都不推荐使用。javadocs中没有关于使用什么的注解。类有静态方法 Job 返回的示例 Job 但这些方法没有文档化,它们需要文档化程度很低的类的示例 Cluster 作为参数。所以读了这么多乱七八糟的东西后,我仍然不知道如何正确地获得 Job . 在此方面的任何帮助都将不胜感激。
当我试图在教程中找到答案,以更高版本,如1.0.4稳定我发现,mapreduce教程的版本使用所有的类从包 org.apache.hadoop.mapred 在版本0.22.0中不推荐使用的。所以0.22.0比1.0.4更受欢迎。请帮我理解这个。或者建议一些更好的资源。

thigvfpy

thigvfpy1#

javadoc可能有点混乱,因此查看job类的源代码可能会帮助您:

...
  @Deprecated
  public Job() throws IOException {
    this(new Configuration());
  }

  @Deprecated
  public Job(Configuration conf) throws IOException {
    this(new Cluster(conf), conf);
  }

  @Deprecated
  public Job(Configuration conf, String jobName) throws IOException {
    this(conf);
    setJobName(jobName);
  }

  Job(Cluster cluster) throws IOException {
    this(cluster, new Configuration());
  }

  Job(Cluster cluster, Configuration conf) throws IOException {
    super(conf, null);
    this.cluster = cluster;
  }

  ...
  public static Job getInstance(Cluster cluster, Configuration conf) 
      throws IOException {
    return new Job(cluster, conf);
  }

因此您可以使用:

...
Configuration conf = getConf();
Job job = Job.getInstance(new Cluster(conf), conf);

注意,以这种方式示例化job类将同时创建到 job tracker 也。
如果您想推迟这样做,您可以通过设置 Cluster 创建作业对象时设置为null。在本例中,您将让job类在真正需要时建立连接(请参阅此处的进一步信息):

Job job = Job.getInstance(conf);

相关问题