Amazon s3 从S3读取多个文件并使用ApacheSpark进行处理
我正试图根据S3中的LastModifiedDate获取文件集合Amazon s3 从S3读取多个文件并使用ApacheSpark进行处理,amazon-s3,apache-spark,Amazon S3,Apache Spark,我正试图根据S3中的LastModifiedDate获取文件集合 List <String> FileNames = new ArrayList<String>(); List FileNames=new ArrayList(); ListObjectsRequest ListObjectsRequest=新建ListObjectsRequest() .带BucketName(s3_bucket) .withPrefix(logs_dir) ObjectL
List <String> FileNames = new ArrayList<String>();
List FileNames=new ArrayList();
ListObjectsRequest ListObjectsRequest=新建ListObjectsRequest()
.带BucketName(s3_bucket)
.withPrefix(logs_dir)
ObjectListing ObjectListing;
做{
objectListing=s3Client.listObjects(listObjectsRequest);
对于(S3ObjectSummary对象摘要:
objectListing.getObjectSummaries()){
如果((objectSummary.getLastModified().compareTo(dayBefore)>0)和(&(objectSummary.getLastModified().compareTo(dayBefore)一个简单的选择是使用sc.textfile映射文件名列表,然后合并生成的RDD。我能够构建一个列表,然后从中创建一个concat字符串,然后将其用作textfile的一部分
String concatName= "";
for(String fName : FileNames) {
if(FileNames.indexOf(fName) == (FileNames.size() -1)) {
concatName+= "s3n://" + s3_bucket + "/" + fName;
} else {
concatName+= "s3n://" + s3_bucket + "/" + fName + ",";
}
}
String concatName= "";
for(String fName : FileNames) {
if(FileNames.indexOf(fName) == (FileNames.size() -1)) {
concatName+= "s3n://" + s3_bucket + "/" + fName;
} else {
concatName+= "s3n://" + s3_bucket + "/" + fName + ",";
}
}