Amazon s3 从S3读取多个文件并使用ApacheSpark进行处理

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

我正试图根据S3中的LastModifiedDate获取文件集合

    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 + ",";
       }
    }