Трубопровод от AWS RDS до S3 с использованием клея - PullRequest
0 голосов
/ 11 декабря 2018

Я пытался использовать AWS Glue для переноса нашего текущего конвейера данных из сценариев Python в AWS Glue.Мне удалось настроить сканер для извлечения схемы для разных баз данных postgres.Однако я сталкиваюсь с проблемами при извлечении данных из таблиц Postgres RDS в таблицы S3 в Афине.

  • Есть ли способ напрямую извлекать данные из таблиц AWS RDS в таблицы S3 в Афине?
  • Если да, то как
  • Если нет, то всегда приветствуются лучшие предложения

Заранее спасибо!

1 Ответ

0 голосов
/ 13 декабря 2018

Вы не можете получить данные из AWS RDS в S3 с помощью Athena.Athena - это механизм запросов к данным S3.Чтобы иметь возможность извлекать данные из RDS в S3, вы можете запустить задание Glue для чтения из конкретной таблицы RDS и создать дамп S3 в формате паркета, который создаст другую внешнюю таблицу, указывающую на данные S3.Затем вы можете запросить эти данные S3 с помощью Athena.Пример кода для чтения из RDS с использованием каталога Glue и написания паркета на S3 будет выглядеть ниже.Есть несколько предопределенных шаблонов Glue, которые вы можете использовать для экспериментов.Сначала начните с небольшого стола.Пожалуйста, дайте мне знать, если это сработало для вас или какие-либо дополнительные вопросы / проблемы.

datasource0 = glueContext.create_dynamic_frame.from_options(connection_type="postgresql", connection_options = 
{"url": "jdbc-url/database",
"user": "user_name",
"password": "password",
"dbtable": "table_name"},
transformation_ctx = "datasource0")

   datasink4 = glueContext.write_dynamic_frame.from_options(frame = datasource0, connection_type = "s3", connection_options = {"path": "s3://aws-glue-tpcds-parquet/"+ tableName + "/"}, format = "parquet", transformation_ctx = "datasink4")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...