如何使用mrjob迭代处理一个目录下的所有文件

时间:2012-12-07 11:28:48

标签: python hadoop mrjob

我正在使用mrjob处理一批文件并获取一些统计信息。我知道我可以在单个文件上运行mapreduce作业,比如

python count.py < some_input_file > output

但是如何将文件目录提供给脚本?文件目录结构就像这个folder/subfolders/files,有什么建议吗?

1 个答案:

答案 0 :(得分:7)

好吧,最后我发现我可以指定一个目录作为输入路径,Hadoop将处理该目录中的所有文件。

在我的情况下,我有包含输入文件的子目录。 Hadoop不会递归地横向目录,并且默认会引发错误。一个常见的技巧是使用像

这样的通配符
python count.py hdfs://master-host/directory/*/*.txt > result