Трубопровод от AWS RDS до S3 с помощью Glue

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

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

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


person Eshank Jain    schedule 11.12.2018    source источник


Ответы (1)


Вы не можете извлекать данные из 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")
person Tanveer Uddin    schedule 13.12.2018