2017-04-07 8 views
0

Scalaを使用してS3バケットからファイルにアクセスしようとすると、バケット名がエンドポイントの前面に追加され、エンドポイントが間違ってアクセス不能になります。S3バケット名がS3エンドポイントに追加される

図書館:

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.0.0" 
libraryDependencies += "org.apache.spark" % "spark-sql_2.11" % "2.0.0" 
libraryDependencies += "org.apache.hadoop" % "hadoop-aws" % "2.8.0" 

コード:S3がインストールされているサーバー上で行わ一切の仮想ホストの設定がないよう

sc.hadoopConfiguration.set("fs.s3a.endpoint", "[endpoint]") 
sc.textFile("s3a://[bucket_name]/testa.txt") 
+0

あなたの「エンドポイント」は 's3 [-region] .amazonaws.com'ではありませんか? –

+0

いいえ、カスタムエンドポイントで、* .amazonaws.comではありません。 – Melon

+0

だから、実際にはS3ではなく、S3と互換性がありますか? –

答えて

0

path style URLsを有効にするには、問題を解決します。 fs.s3a.path.style.accessdocs)をtrueに設定すると、パススタイルのURLを有効にすることができます。