hadoop-hadoopjar输入路径问题

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

我遇到的问题是hadoopjar命令需要输入路径,但是我的mapreduce作业从数据库获取输入,因此不需要/没有输入目录。我已经将jobconf inputformat设置为dbinputformat,但是当我的工作不和谐时,我如何表示这一点呢?

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

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

u3r8eeie

u3r8eeie1#

hadoopjar命令不需要命令行参数,除了主类之外。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]));
   }
}

因此您将删除input path语句。对作业进行jar'ing没有什么魔力,只要改变输入格式(你说你做了),就应该进行设置。

相关问题