使用同一S3存储桶的多个凭据进行Spark

时间:2019-08-07 18:27:05

标签: amazon-web-services apache-spark hadoop amazon-s3 apache-spark-sql

我将Spark 2.1.1与Hadoop 2.7.3结合使用,并且在一个管道中使用来自不同S3位置的数据。

我正在使用this.dynamicValue设置s3a凭据,并进行秘密操作。

当我使用不同的S3存储桶时,效果很好,但是当我对同一存储桶使用不同的凭据(一个S3存储桶中的文件夹级别权限)时,仅处理第一对凭据。

当我尝试使用第二对文件访问文件时,似乎火花配置未更新,并且由于调用S3时出现403错误而失败。

我要实现的是在同一批处理中使用不同的凭据处理来自同一S3存储桶的文件。

1 个答案:

答案 0 :(得分:0)

对此没有真正的支持。每个S3A连接器实例仅具有一组凭据,特定桶的第一个S3A文件系统实例通过其URI缓存在文件系统缓存中。下次查找该文件系统URI的实例时,将拾取具有其凭证的现有实例。