我们的日志文件存储在hdfs的年/月/日/小时文件夹中
结构见下表:
/year=2014/month=8/day=20/hour=1/logA.txt
/year=2014/month=8/day=20/hour=2/logB.txt
/year=2014/month=8/day=20/hour=2/logC.txt
如果我将一个日志文件作为输入传递给javamapreduce程序,它就会工作。
See my working syntax below:
hadoop jar test.jar wc /year=2014/month=8/day=20/hour=1/logA.txt output/
如何将month=8中的所有文件作为输入传递给map reduce程序?i、 e.month=8每天有文件夹,每天有小时的子文件夹。日志文件存储在小时文件夹中。
我需要通过所有的文件,在每个小时内的每一天,在八月作为输入到我的mapreduce程序。
2条答案
按热度按时间u0sqgete1#
你试过这个吗?hadoop jar test.jar wc/年=2014/月=8/输出/
aiazj4mn2#
hadoop文件系统支持globbing。您可以在文件系统javadoc中找到模式的定义
要回答您的特定问题,您可以使用以下模式:
如果您没有提供所有的细节,并且这个模式不起作用,您可以很容易地调整它以匹配较少的文件。例如:
或者如果您只想处理0到11之间的小时数