2015-11-07 115 views
0

我正在尝试运行将在S3存储桶中处理CloudFront日志的Amazon EMR Hadoop过程。由于CloudFront在同一个存储桶中生成大量日志,因此如何过滤日志文件而不会为S3访问生成额外的带宽?如何筛选S3文件作为Amazon EMR的输入?

+0

提供有关要筛选的更多信息。您多长时间使用亚马逊下载日志文件?您可能可以在CloudFront上使用API​​来过滤日志文件。 – Whitecat

+0

每天运行的某种EMR流程。我想检索当天的所有日志,并将它们用作EMR的输入。您想向我展示如何使用CloudFront API作为EMR Hadoop的输入? – DarkVenture

回答

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()); 
    } 
} 
相关问题