Вопрос: похожа ли конечная точка поддержки spark s3n на s3a?
Ответ: Да.
Ниже приведены классы, которые вы должны предоставить в конфигурации, начиная с hadoop-aws.jar
.
org.apache.hadoop.fs.s3native.NativeS3FileSystem, org.apache.hadoop.fs.s3.S3FileSystem
Декларативный способ:
В core-site.xml
<property>
<name>fs.s3.impl</name>
<value>org.apache.hadoop.fs.s3.S3FileSystem</value>
</property>
<property>
<name>fs.s3n.impl</name>
<value>org.apache.hadoop.fs.s3native.NativeS3FileSystem</value>
</property>
или вы можете установить их программно, как показано ниже.
Программный способ:
Пример:
spark.sparkContext.hadoopConfiguration.set("fs.s3n.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
spark.sparkContext.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "AccessKey")
spark.sparkContext.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "SecretKey")
аналогично s3: // также.
hadoop-aws.jar содержит эти классы, так что вам нужно предоставить jar для вашей работы spark-submit, используя ...
--jars /usr/hadoop/hadoop-aws.jar
Дальнейшее чтение здесь