我将Spark 2.1.1与Hadoop 2.7.3结合使用,并且在一个管道中使用来自不同S3位置的数据。
我正在使用this.dynamicValue
设置s3a
凭据,并进行秘密操作。
当我使用不同的S3存储桶时,效果很好,但是当我对同一存储桶使用不同的凭据(一个S3存储桶中的文件夹级别权限)时,仅处理第一对凭据。
当我尝试使用第二对文件访问文件时,似乎火花配置未更新,并且由于调用S3时出现403错误而失败。
我要实现的是在同一批处理中使用不同的凭据处理来自同一S3存储桶的文件。
答案 0 :(得分:0)
对此没有真正的支持。每个S3A连接器实例仅具有一组凭据,特定桶的第一个S3A文件系统实例通过其URI缓存在文件系统缓存中。下次查找该文件系统URI的实例时,将拾取具有其凭证的现有实例。