Hadoop - Hadoop jar 输入路径问题



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

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

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

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(您说您做到了),就可以设置。

相关内容

  • 没有找到相关文章

最新更新