Java 具有两个输入文件和一个输出文件的字数计算程序
我是Hadoop新手。我已经用单输入文件和单输出文件完成了字数计算程序。现在,我想将两个文件作为输入,并将输出写入一个文件。我试着这样做: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
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,所以我删除了驱动程序,它就工作了。谢谢你,阿曼。