Я установил искру 2.0 на EC2 & Я использую SparkSQL с помощью Scala для извлечения записей из DB2 & Я хочу писать на S3, где я передаю ключи доступа к контексту искры. Следуя за мой код:Не удалось написать Spark SQL DataFrame для S3
val df = sqlContext.read.format("jdbc").options(Map("url" -> , "user" -> usernmae, "password" -> password, "dbtable" -> tablename, "driver" -> "com.ibm.db2.jcc.DB2Driver")).option("query", "SELECT * from tablename limit 10").load()
df.write.save("s3n://data-analytics/spark-db2/data.csv")
И бросает следующее исключение:
org.apache.hadoop.fs.s3.S3Exception: org.jets3t.service.S3ServiceException: Service Error Message. -- ResponseCode: 403, ResponseStatus: Forbidden, XML Error Message: <?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>1E77C38FA2DB34DA</RequestId><HostId>V4O9sdlbHwfXNFtoQ+Y1XYiPvIL2nTs2PIye5JBqiskMW60yDhHhnBoCHPDxLnTPFuzyKGh1gvM=</HostId></Error>
Caused by: org.jets3t.service.S3ServiceException: Service Error Message.
at org.jets3t.service.S3Service.putObject(S3Service.java:2358)
at org.apache.hadoop.fs.s3native.Jets3tNativeFileSystemStore.storeEmptyFile(Jets3tNativeFileSystemStore.java:162)
Что точная проблема, возникающая здесь, как я передавая ключи доступа также Sparkcontext ?? Любой другой способ написать S3 ??
Из сообщения Access Denied Это может быть пользователь не имеет достаточных привилегий http://docs.aws.amazon.com/redshift/latest /dg/s3serviceexception-error.html –
giaosudau