【发布时间】:2019-01-03 13:39:44
【问题描述】:
我正在使用 spark 2.3.0 和 Hadoop 2.7(但如果需要我可以升级)
我希望使用 ARN(亚马逊资源名称)IAM 角色访问 S3 文件 https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html
我已经看过这个How to access s3a:// files from Apache Spark?,但没有关于 IAM 访问的问题
public class test {
public static void main(String[] args) {
SparkSession sc = new SparkSession.Builder()
.appName("test")
.config("spark.master", "local[*]") //for example
.config("spark.hadoop.fs.s3a.access.key", "****")
.config("spark.hadoop.fs.s3a.secret.key", "****")
// .config("spark.hadoop.fs.s3a.arn_role","arn:aws:iam::***:role/******"")
.getOrCreate();
sc.read().format("csv").load("s3a://toto/****.csv").printSchema();
}
}
我没有找到任何选项或配置
我也在寻找在 spark 提交上带有 args 的解决方案,但不在配置文件中(这需要动态)
你有什么想法吗?
【问题讨论】:
-
如果您已经为其提供访问密钥,IAM 会给您带来哪些好处?角色不是已经与这些键绑定了吗?
-
不,那些不是角色的密钥,它们是可以扮演角色的私钥。就像您在 CLI 中执行的操作一样:aws s3 ls --profile myProfile(在 .aws/config 文件中解析配置文件 role_arn)
标签: amazon-web-services apache-spark hadoop amazon-s3 amazon-iam