具有两个输入文件和单个输出文件的字数统计程序

Word count program with two input files and single output file

我是 Hadoop 新手。我用单个输入文件和单个输出文件完成了字数统计程序。现在我想将 2 个文件作为输入并将该输出写入一个文件。我试过这样:

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 文件夹中的输入和输出。