我收到奇怪的错误,例如-无法获取AWS凭证或无法从以下位置加载凭证:

有什么方法可以在hadoop配置中显式设置s3a凭据?

最佳答案

由于s3a是相对较新的实现(并且可以从hadoop 2.7正常运行),因此您需要在hadoop配置中设置两个set属性-

    conf.set("fs.s3a.access.key", access_key);
    conf.set("fs.s3a.secret.key", secret_key);
    conf.set("fs.s3a.awsAccessKeyId", access_key);
    conf.set("fs.s3a.awsSecretAccessKey", secret_key);

(conf是hadoop配置)

原因是版本之间的命名约定已更改,并且出于安全考虑-设置两者

09-18 13:33