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