Как подключиться к Redshift из AWS Glue (PySpark)? - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь подключиться к Redshift и выполнить простые запросы из Glue DevEndpoint (это является обязательным требованием), но, похоже, не может подключиться.

Следующий код просто перестал работать:

df = spark.read \
  .format('jdbc') \
  .option("url", "jdbc:redshift://my-redshift-cluster.c512345.us-east-2.redshift.amazonaws.com:5439/dev?user=myuser&password=mypass") \
  .option("query", "select distinct(tablename) from pg_table_def where schemaname = 'public'; ") \
  .option("tempdir", "s3n://test") \
  .option("aws_iam_role", "arn:aws:iam::147912345678:role/my-glue-redshift-role") \
  .load()

В чем может быть причина?

Я проверил URL, пользователя, пароль, а также пробовал разные роли IAM, но каждый раз просто зависает ..

Также пробовал без роли IAM (только с URL, пользователь/ pass, схема / таблица, которая уже существует там), а также зависает / timeout:

jdbcDF = spark.read \
    .format("jdbc") \
    .option("url", "jdbc:redshift://my-redshift-cluster.c512345.us-east-2.redshift.amazonaws.com:5439/dev") \
    .option("dbtable", "public.test") \
    .option("user", "myuser") \
    .option("password", "mypass") \
    .load()

Считывание данных (непосредственно в Glue SSH-терминале) из S3 или из таблиц Glue (каталог) выглядит нормально, поэтому я знаю, чтоSpark и Dataframes в порядке, просто есть что-то с подключением к RedShift, но не знаете что?

1 Ответ

0 голосов
/ 12 октября 2019

Create Glue Job

Выберите последний вариант при создании задания на клей. И на следующем экране будет предложено выбрать Glue connection

...