我有一个spark工作,它从一个s3 bucket读取文件,格式化它们,然后将它们放在另一个s3 bucket中。我正在使用(sparksession)spark.read.csv和spark.write.csv功能来完成这个任务
当我读取文件时,我需要使用一个iam角色(假定角色),当我写入文件时,需要删除假定角色并恢复为默认角色。
这是否可能在同一个spark会话中实现?如果没有,还有别的办法吗?
感谢您的帮助!
我有一个spark工作,它从一个s3 bucket读取文件,格式化它们,然后将它们放在另一个s3 bucket中。我正在使用(sparksession)spark.read.csv和spark.write.csv功能来完成这个任务
当我读取文件时,我需要使用一个iam角色(假定角色),当我写入文件时,需要删除假定角色并恢复为默认角色。
这是否可能在同一个spark会话中实现?如果没有,还有别的办法吗?
感谢您的帮助!
1条答案
按热度按时间q3qa4bjr1#
对于hadoop2.8+中的s3a连接器,s3a连接器支持每个bucket设置,因此您可以为不同的bucket提供不同的登录选项
在某个时刻(可能在那时,非常多的是hadoop3),assumedrolecredentialprovider获取一组完整的凭据,并为给定的角色arn调用assumerole,因此在该角色下与s3交互。
应该是个问题
确保你的hadoop jar是最新的
使用完全登录设置基本设置
源bucket的per bucket设置,以将假定角色凭据提供程序与所选arn一起使用
在尝试使提交的作业正常工作之前,请确保hadoop命令行中的操作正常。
然后提交作业。