只是想知道是否有办法识别添加到HDFS路径中的新文件?例如,如果某些文件已存在一段时间。现在我今天添加了新文件。所以想要只处理那些新文件。实现这一目标的最佳方法是什么。
由于
答案 0 :(得分:0)
您需要编写一个java代码来执行此操作。这些步骤可能有所帮助:
1. Before adding new files, fetch the last modified time (hadoop fs -ls /your-path). Lets say it as mTime.
2. Next upload new files into hdfs path
3. Now filter the files that are greater than mTime. These files are to be processed. Make your program to process only these files.
这只是开发代码的一个提示。 :)
答案 1 :(得分:0)
如果是Mapreduce,那么您可以创建每天附加时间戳的输出目录。
像
FileOutputFormat.setOutputPath(job, new Path(hdfsFilePath
+ timestamp_start); // start at 12 midnight for example: 1427241600 (GMT) --you can write logic to get epoch time