PySparkがIAMの役割を使ってS3アクセスをサポートしているのだろうかと思います。具体的には、特定のバケットにアクセスするためにAWSの役割を引き受けなければならないビジネス上の制約があります。これは、APIの一部であるbotoを使用する場合は問題ありませんが、PySparkがこれをサポートしているかどうかについては明確な答えが見つかりません。PySparkがIAMの役割を使ってS3にアクセスする
理想的には、スタンドアロンモードでローカルに実行し、SparkContextをそのs3パスに指定すると、役割を引き受けることができます。私は非IAM通話が通常通り続くことを見ました:
spark_conf = SparkConf().setMaster('local[*]').setAppName('MyApp')
sc = SparkContext(conf=spark_conf)
rdd = sc.textFile('s3://<MY-ID>:<MY-KEY>@some-bucket/some-key')
IAM情報を提供するためにこれは何か存在しますか? :
rdd = sc.textFile('s3://<MY-ID>:<MY-KEY>:<MY-SESSION>@some-bucket/some-key')
または
rdd = sc.textFile('s3://<ROLE-ARN>:<ROLE-SESSION-NAME>@some-bucket/some-key')
ない場合は、IAM credsをして作業するためのベストプラクティスは何ですか?それも可能ですか?
私は、Python 1.7とPySpark 1.6.0
を使用していありがとう!