我正在尝试将数据从Amazon Redshift加载到HDFS。
val df = spark.read.format("com.databricks.spark.redshift")
> .option("forward_spark_s3_credentials", "true").option("url",
> "jdbc:redshift://xxx1").option("user","xxx2").option("password",
> "xxx3") .option("query", "xxx4") .option("driver",
> "com.amazon.redshift.jdbc.Driver") .option("tempdir", "s3n://xxx5")
> .load()
这是我正在使用的Scala代码。当我执行df.count()
和df.printSchema()
时,它会给我正确的架构和计数。但是,当我执行df.show()
或尝试将其写入hdfs时,它会说
S3ServiceException:您提供的AWS Access Key ID在我们的记录中不存在。状态403,错误InvalidAccessKeyId
答案 0 :(得分:0)
您需要导出以下环境变量才能写入s3。
导出AWS_SECRET_ACCESS_KEY = XXX
导出AWS_ACCESS_KEY_ID = XXX