我需要将 spark 连接到我的 redshift 实例以生成数据。我正在使用 spark 1.6 和 scala 2.10 。使用了兼容的 jdbc 连接器和 spark-redshift 连接器。但我面临一个奇怪的问题是:我正在使用 pyspark
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()
,它会给我错误的权限,我的存储桶被拒绝。这很奇怪,因为我可以看到我的存储桶中正在创建文件,但它们可以被读取。
PS .我也设置了访问密钥和秘密访问密钥。
附言。我也对 s3a 和 s3n 文件系统感到困惑。使用的连接器: https ://github.com/databricks/spark-redshift/tree/branch-1.x