Hi All,

 

I try to access S3 file from S3 in Hadoop file format:

 

Below is my code:

 

                     Configuration hadoopConf = ctx.hadoopConfiguration();

                     hadoopConf.set("fs.s3n.awsAccessKeyId",
this.getAwsAccessKeyId());

                     hadoopConf.set("fs.s3n.awsSecretAccessKey",
this.getAwsSecretAccessKey());

                     lines = ctx.newAPIHadoopFile(inputPath,
NonSplitableTextInputFormat.class, LongWritable.class, Text.class,
hadoopConf).values()

                                  .map(new Function<Text, String>() {

                                         @Override

                                         public String call(Text arg0)
throws Exception {

                                                return arg0.toString();

                                         }

                                  });

And I have below error:

 

Exception in thread "main"
org.apache.hadoop.security.AccessControlException: Permission denied:
s3n://************

        at
org.apache.hadoop.fs.s3native.Jets3tNativeFileSystemStore.processException(J
ets3tNativeFileSystemStore.java:449)

        at
org.apache.hadoop.fs.s3native.Jets3tNativeFileSystemStore.processException(J
ets3tNativeFileSystemStore.java:427)

 

The permission should not have any problem (because I can use ctx.textFile
without any issue). So the issue from the call: newAPIHadoopFile

 

Anything else I need to setup for this?

 

Regards,

 

Shuai

Reply via email to