在我的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.key
和s3a
。 AFAIR,s3n
方案始终使用awsAccessKeyId/awsSecretAccessKey
样式。
有关配置引用,请转到official hadoop documentation或source code,这是验证配置参数名称的最佳方法。