<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-aws</artifactId>
<version>2.7.7</version>
</dependency>
public static Configuration miniConfig() {
Configuration configuration = new Configuration();
configuration.set("fs.s3a.access.key", "user");
configuration.set("fs.s3a.secret.key", "pwd");
configuration.set("fs.s3a.path.style.access", "true");
configuration.set("fs.s3a.block.size", "512");
configuration.set("fs.s3a.endpoint", "http://localhost:9000");
configuration.set("fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem");
return configuration;
}
public static void main(String[] args) throws Exception {
S3AFileSystem s3AFileSystem = new S3AFileSystem();
s3AFileSystem.initialize(URI.create("s3a://bucket/test.json"),miniConfig());
S3AFileStatus fileStatus = s3AFileSystem.getFileStatus(new Path("s3a://bucket/test.json"));
RemoteIterator<LocatedFileStatus> locatedFileStatusRemoteIterator = s3AFileSystem.listFiles(new Path("s3a://ndp/static"), true);
while (locatedFileStatusRemoteIterator.hasNext()) {
LocatedFileStatus next = locatedFileStatusRemoteIterator.next();
}
FSDataInputStream open = s3AFileSystem.open(new Path("s3a://bucket/test.json"), 4096);
BufferedReader bf = new BufferedReader(new InputStreamReader(open));
String line = null;
List<String> res = new ArrayList<>();
while ((line=bf.readLine())!=null){
res.add(line);
}
}