在我的Spark代码中,我必须在HadoopConfiguration中设置ACCESS_KEY和SECRET_KEY才能访问AWS-S3。在互联网上,我发现了设置这些属性的多种方法。

例如

样式#1

sc.hadoopConfiguration.set("fs.s3n.access.key", AWS_ACCESS_KEY)
sc.hadoopConfiguration.set("fs.s3n.secret.key", AWS_SECRET_KEY)

样式#2
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", AWS_ACCESS_KEY)
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", AWS_SECRET_KEY)

在上述语法中,样式#1( fs.s3n.access.key )可以正常工作,而样式2( fs.s3n.awsAccessKeyId )可以正常工作。
我想知道Style#1是否特定于任何hadoop版本,还是在hadoop配置中不支持?

在哪里可以找到与spark,aws,hive,s3等相关的所有可能的HadoopConfiguration属性?

最佳答案

access.key连接器中使用了secret.keys3a。 AFAIR,s3n方案始终使用awsAccessKeyId/awsSecretAccessKey样式。

有关配置引用,请转到official hadoop documentationsource code,这是验证配置参数名称的最佳方法。

08-07 00:02