Pyspark 使用火花-红移接头将火花连接到红移时出现问题
我需要将spark连接到我的红移实例以生成数据。 我正在使用spark 1.6和scala 2.10。 已使用兼容的jdbc连接器和spark redshift连接器。 但我面临一个奇怪的问题,那就是: 我正在使用PyparkPyspark 使用火花-红移接头将火花连接到红移时出现问题,pyspark,amazon-redshift,spark-redshift,Pyspark,Amazon Redshift,Spark Redshift,我需要将spark连接到我的红移实例以生成数据。 我正在使用spark 1.6和scala 2.10。 已使用兼容的jdbc连接器和spark redshift连接器。 但我面临一个奇怪的问题,那就是: 我正在使用Pypark df=sqlContext.read\ .format("com.databricks.spark.redshift")\ .option("query","select top 10 * from fact_table")\ .option("u
df=sqlContext.read\
.format("com.databricks.spark.redshift")\
.option("query","select top 10 * from fact_table")\
.option("url","jdbc:redshift://redshift_host:5439/events?user=usernmae&password=pass")\
.option("tempdir","s3a://redshift-archive/").load()
当我执行df.show()
时,它会给我一个错误,在我的bucket上拒绝权限。
这很奇怪,因为我可以看到在我的bucket中创建的文件,但它们是可以读取的
另外,我还设置了accesskey和secret access key
PS。我还混淆了s3a和s3n文件系统。
使用的连接器:
似乎没有为Redshift设置访问S3文件的权限。请按照以下步骤操作
从您的问题中,我无法理解问题是什么上述步骤非常适合解决spark红移连接器上的权限问题,但在我的案例中,问题是spark版本。我之前使用了1.6 spark,这给了我错误,但spark 2.2中的相同代码可以正常工作。