SparkSession火花= SparkSession.builder ()
.appName (“SparkS3Example”)
部分(“地方[1]”)
.getOrCreate ();
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.access。鍵”,S3_ACCOUNT_KEY);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.secret。鍵”,S3_SECRET_KEY);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.aws.credentials。提供者”、“org.apache.hadoop.fs.s3a.auth.AssumedRoleCredentialProvider”);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.assumed.role.credentials。提供者”、“org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider”);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.assumed.role。在攻擊”、“攻擊:aws:我::000000000000:角色/ <桶>”);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.assumed.role.sts.endpoint。地區”,awsRegion);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.assumed.role.session.name”、“測試”);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.assumed.role.sts。端點”、“sts.ap東南- 2. amazonaws.com”);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a。端點”、“s3.ap東南- 2. amazonaws.com”);
這裏.hadoopConfiguration spark.sparkContext () () (“fs.s3a.endpoint。地區”,awsRegion
能夠得到AccessKeyId SecretAccessKey通過AssumedRoleCredentialProvider SessionToken,但不能從S3對象,扔403 AccessDenied例外。
但如果我用同樣的AccessKeyId, SecretAccessKey和SessionToken AWS CLI然後可以下載使用cp命令通過命令提示符。
將通過AssumedRoleCredentialProvider訪問S3對象。