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

Chu*_*Lyu 6 python hadoop mrjob

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

python count.py < some_input_file > output
Run Code Online (Sandbox Code Playgroud)

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

Chu*_*Lyu 7

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

在我的例子中,我有包含输入文件的子目录.Hadoop不会递归地横向目录,并且默认会引发错误.一个常见的技巧是使用通配符类似的

python count.py hdfs://master-host/directory/*/*.txt > result
Run Code Online (Sandbox Code Playgroud)