私はSparkでEMR 5.5.0を使用しています。 s3://...
URLを使用してs3に簡単なファイルを書き込むと、うまく書けます。しかし、s3a://...
アドレスを使用すると、失敗します。Service: Amazon S3; Status Code: 403; Error Code: AccessDenied
S3A:S3:Spark EMRで動作中にエラーが発生する
AWSコマンドラインを使用して、私が書いているパスにあるすべてのファイルをcp、mv、およびrmできます。しかし、sparkから、s3a
はputコマンドで失敗します。
私たちはサーバーサイド暗号化を有効にしており、s3
のURLが機能するため、スパークが分かっています。何か案は?
失敗したデバッグログhere。たぶん重要なことに、私はrdd.saveAsTextFile(path)
をやっているが、putコマンドはそれが寄せ木で行うべきである/my-bucket/tmp/carlos/testWrite/4/_temporary/0/
に書こうとしていると言っている?その詳細が関連しているかどうかは分かりませんが、私は言及すると思います。
'EMR'' s3'プロトコルがパーケットで述語プッシュダウンを許可するかどうか知りませんか? ( 's3a'と同様に) –
はFSレベルではないので、SparkとParquet libの間にあります。 AWSがこれらの2つのプロジェクト&プッシュダウンに必要な設定で行ったことに依存します。あなたはそれをテストするのに最適です –