【问题标题】:hadoop - Hadoop jar input path issuehadoop - Hadoop jar 输入路径问题
【发布时间】:2013-10-07 21:23:42
【问题描述】:

我遇到的问题是 hadoop jar 命令需要输入路径,但我的 MapReduce 作业从数据库获取输入,因此不需要/没有输入目录。我已将 JobConf 输入格式设置为 DBInputFormat,但在影响我的工作时如何表示?

//Here is the command
hadoop jar <my-jar> <hdfs input> <hdfs output>

我有一个输出文件夹,但不需要输入文件夹。有没有办法绕过这个?我是否需要编写第二个程序将数据库数据提取到一个文件夹中,然后在 MapReduce 作业中使用它?

【问题讨论】:

    标签: java postgresql hadoop mapreduce


    【解决方案1】:

    hadoop jar 命令不需要命令行参数,可能除了主类。 map/reduce 作业的命令行参数将由程序本身决定。因此,如果它不再需要 HDFS 输入路径,那么您需要将代码更改为不需要。

    public class MyJob extends Configured implements Tool
    {
       public void run(String[] args) throws Exception {
         // ...
         TextInputFormat.setInputPaths(job, new Path(args[0])); // or some other file input format
         TextOutputFormat.setOutputPath(job, new Path(args[1]));
       }
    }
    

    因此您将删除输入路径语句。 JAR 完成这项工作并没有什么神奇之处,只需更改 InputFormat(您说您做了),您就应该设置好。

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-01
      相关资源
      最近更新 更多