0
我正在尝试运行将在S3存储桶中处理CloudFront日志的Amazon EMR Hadoop过程。由于CloudFront在同一个存储桶中生成大量日志,因此如何过滤日志文件而不会为S3访问生成额外的带宽?如何筛选S3文件作为Amazon EMR的输入?
我正在尝试运行将在S3存储桶中处理CloudFront日志的Amazon EMR Hadoop过程。由于CloudFront在同一个存储桶中生成大量日志,因此如何过滤日志文件而不会为S3访问生成额外的带宽?如何筛选S3文件作为Amazon EMR的输入?
我发现我可以用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());
}
}
提供有关要筛选的更多信息。您多长时间使用亚马逊下载日志文件?您可能可以在CloudFront上使用API来过滤日志文件。 – Whitecat
每天运行的某种EMR流程。我想检索当天的所有日志,并将它们用作EMR的输入。您想向我展示如何使用CloudFront API作为EMR Hadoop的输入? – DarkVenture