【发布时间】:2012-11-25 13:52:11
【问题描述】:
我正在使用 mrjob 处理一批文件并获取一些统计信息。我知道我可以在单个文件上运行 mapreduce 作业,例如
python count.py < some_input_file > output
但是如何将文件目录提供给脚本?文件目录结构是这样的folder/subfolders/files,有什么建议吗?
【问题讨论】:
我正在使用 mrjob 处理一批文件并获取一些统计信息。我知道我可以在单个文件上运行 mapreduce 作业,例如
python count.py < some_input_file > output
但是如何将文件目录提供给脚本?文件目录结构是这样的folder/subfolders/files,有什么建议吗?
【问题讨论】:
嗯,最后我发现我可以指定一个目录作为输入路径,Hadoop 会处理该目录中的所有文件。
在我的例子中,我还有包含输入文件的子目录。 Hadoop 不会递归遍历目录,默认会报错。一个常见的技巧是使用通配符 glob 之类的
python count.py hdfs://master-host/directory/*/*.txt > result
【讨论】: