我正在开发用Perl编写的Hadoop MapReduce流作业来处理Hadoop中的大量日志。新文件不断添加到数据目录中,目录中有65,000个文件。
目前我在目录上使用ls
并跟踪我处理的文件,但即使是ls
也需要很长时间。我需要尽可能接近实时处理文件。
使用ls
保持跟踪似乎不是最佳的。是否有任何工具或方法可以跟踪未在这样的大型目录中处理哪些日志?
答案 0 :(得分:0)
您可以在程序处理后重命名日志文件。
For example:
command: hadoop fs -mv numbers.map/part-00000 numbers.map/data
重命名后,您可以轻松识别已处理的文件,但尚未加工。
认为这可以解决您的问题。