проблема при подключении свечи к красному смещению с помощью разъема свечи зажигания - PullRequest
0 голосов
/ 06 июня 2019

Мне нужно подключить искру к моему экземпляру красного смещения для генерации данных. Я использую спарк 1.6 с Scala 2.10. Использовали совместимый разъем jdbc и разъем красного смещения. Но я сталкиваюсь со странной проблемой: Я использую 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. Я также установил ключ доступа и секретный ключ доступа.

PS. Я также запутался между файловой системой s3a и s3n. Разъем используется: https://github.com/databricks/spark-redshift/tree/branch-1.x

1 Ответ

0 голосов
/ 19 июня 2019

Похоже, что для Redshift не установлено разрешение на доступ к файлам S3.Выполните следующие действия:

  1. Добавьте в этот корзину политику сегмента, которая разрешает доступ учетной записи Redshift
  2. Создайте роль IAM в учетной записи Redshift, которая может выполнить красное смещение

  3. предположить, предоставить права доступа к S3 Bucket недавно созданной роли. Свяжите роль с кластером Redshift

  4. Выполните операторы COPY
...