Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有两个输入文件和一个输出文件的字数计算程序_Java_Hadoop_Mapreduce_Word Count - Fatal编程技术网

Java 具有两个输入文件和一个输出文件的字数计算程序

Java 具有两个输入文件和一个输出文件的字数计算程序,java,hadoop,mapreduce,word-count,Java,Hadoop,Mapreduce,Word Count,我是Hadoop新手。我已经用单输入文件和单输出文件完成了字数计算程序。现在,我想将两个文件作为输入,并将输出写入一个文件。我试着这样做: FileInputFormat.setInputPaths(conf, new Path(args[0]), new Path(args[1])); FileOutputFormat.setOutputPath(conf, new Path(args[2])); 这是终端中的命令: hadoop jar test.jar Driver /user/in.t

我是Hadoop新手。我已经用单输入文件和单输出文件完成了字数计算程序。现在,我想将两个文件作为输入,并将输出写入一个文件。我试着这样做:

FileInputFormat.setInputPaths(conf, new Path(args[0]), new Path(args[1]));
FileOutputFormat.setOutputPath(conf, new Path(args[2]));
这是终端中的命令:

hadoop jar test.jar Driver /user/in.txt /user/sample.txt /user/out
当我运行这个时,它将sample.txt作为输出目录,并表示:

Output directory hdfs://localhost:9000/user/sample.txt already exists

有人能帮我吗?

可能是因为它把Driver作为您的第一个参数。你为什么不这样试试呢

hadoop jar test.jar /user/in.txt /user/sample.txt /user/out

如果您已将所有输入文件放在一个文件夹中,如您所述(
/user
),则替换

hadoop jar test.jar Driver /user/in.txt /user/sample.txt /user/out
用这个

hadoop jar test.jar Driver /user /user/out

这将把
/user
目录中的所有文件作为HDFS中
user/out
文件夹的输入和输出。

只是想知道您是如何制作Jar的。它是普通的Jar还是可运行的Jar…如果是可运行的Jar,那么您不必提及驱动程序类名…它是一个可运行的Jar,所以我删除了驱动程序,它就工作了。谢谢你,阿曼。