Amazon web services 在AWS批处理上独立运行时,Spark无法访问S3
使用AWS库,我可以访问S3,但如果我尝试使用NativePackager的Spark program build访问S3,这是行不通的 我尝试了s3://、s3n://和s3a:// 让我展示一下我的一些测试: 测试1: 如果我没做什么特别的事。如前所述失败 测试2: 下面,我在调用代码之前执行了以下代码:Amazon web services 在AWS批处理上独立运行时,Spark无法访问S3,amazon-web-services,apache-spark,amazon-s3,amazon-ecs,aws-batch,Amazon Web Services,Apache Spark,Amazon S3,Amazon Ecs,Aws Batch,使用AWS库,我可以访问S3,但如果我尝试使用NativePackager的Spark program build访问S3,这是行不通的 我尝试了s3://、s3n://和s3a:// 让我展示一下我的一些测试: 测试1: 如果我没做什么特别的事。如前所述失败 测试2: 下面,我在调用代码之前执行了以下代码: curl --location http://169.254.170.2/$$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI > credentials
curl --location http://169.254.170.2/$$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI > credentials.txt
export AWS_ACCESS_KEY_ID=`cat credentials.txt | perl -MJSON::PP -E 'say decode_json(<>)->{"AccessKeyId"}'`
export AWS_SECRET_ACCESS_KEY=`cat credentials.txt | perl -MJSON::PP -E 'say decode_json(<>)->{"SecretAccessKey"}'`
这个问题以前有过一些错误
测试3:
如果我用我的个人密钥设置AWS\u访问密钥\u ID和AWS\u机密密钥\u访问密钥。AWS库和Spark都可以工作
考虑到测试3可以工作,我的代码也可以工作。很明显,我不喜欢把钥匙放在周围。问题是:
如何在Spark作业中使用AWS批量ECS创建的凭据?我也遇到了同样的问题,仔细阅读后,我意识到我需要将此添加到Spark属性中:
sparkConf.set('spark.hadoop.fs.s3a.aws.credentials.provider', 'com.amazonaws.auth.DefaultAWSCredentialsProviderChain')
希望它有帮助我也有同样的问题,仔细阅读后,我意识到我需要将此添加到我的spark属性中:
sparkConf.set('spark.hadoop.fs.s3a.aws.credentials.provider', 'com.amazonaws.auth.DefaultAWSCredentialsProviderChain')
希望它能帮上忙SUPER!!!!!非常感谢!谢谢!!!!!非常感谢