我正在尝试运行Amazon EMR Hadoop流程,该流程将处理S3存储桶中的CloudFront日志。由于CloudFront在同一个存储桶中生成大量日志,如何在不为S3访问生成额外带宽的情况下过滤日志文件?
答案 0 :(得分:0)
我发现我可以使用FileSystem.globStatus()
快速过滤来自CloudFront日志存储桶的文件:
FileSystem fs = new Path("s3://logs").getFileSystem(conf);
for (FileStatus fileStatus: fs.globStatus("s3://logs/prefix-2015-11-01*")) {
if (fileStatus.isFile()) {
FileInputFormat.addInputPath(myJob, fileStatus.getPath());
}
}