проблема при подключении искры к красному смещению с помощью соединителя искрового смещения

Мне нужно подключить искру к моему экземпляру красного смещения для генерации данных. Я использую Spark 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


person Aldrin Machado    schedule 06.06.2019    source источник
comment
Из вашего вопроса я не могу понять, в чем проблема   -  person nightgaunt    schedule 07.06.2019


Ответы (1)


Похоже, Redshift не разрешает доступ к файлам S3. Пожалуйста, следуйте инструкциям ниже

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

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

  4. Запустите операторы COPY
person BigData-Guru    schedule 19.06.2019
comment
Вышеупомянутые шаги идеально подходят для решения проблемы с разрешением на соединителе искрового красного смещения, но в моем случае проблема была с версией искры. Раньше я использовал искру 1.6, которая выдавала мне ошибку, но тот же код в искре 2.2 работает нормально. - person Aldrin Machado; 20.06.2019