具有两个输入文件和单个输出文件的字数统计程序
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
文件夹中的输入和输出。
我是 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
文件夹中的输入和输出。