Поиск по сайту:

Что такое AWS Glue и как его использовать?


AWS Glue — это управляемый сервис извлечения, преобразования и загрузки (ETL), который может обрабатывать данные, хранящиеся в S3 или DynamoDB, и преобразовывать их в различные форматы или схемы для упрощения использования в других сервисах, таких как Athena.

Зачем использовать AWS Glue?

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

AWS Glue справится с этим; он находится между вашими данными S3 и Athena и обрабатывает данные так же, как такая утилита, как sed или awk , в командной строке. Настроив сканер, вы можете импортировать данные, хранящиеся в S3, в свой каталог данных, тот же каталог, который Athena использует для выполнения запросов. Затем вы можете изменить эти данные, чтобы удалить ненужные столбцы или преобразовать форматы.

AWS Glue также может автоматически преобразовывать CSV и другие форматы с разделителями в столбчатый формат Apache Parquet, который настоятельно рекомендуется всем, кто работает с Athena, поскольку он может сократить ваши расходы на порядок из-за того, что для обработки требуется гораздо меньше данных.

С чего начать

Перейдите к консоли AWS Glue и выберите «Начать». На вкладке «Crawlers» выберите «Create Crawler» и дайте ему имя. Выберите «Хранилища данных» в качестве типа импорта и настройте его для импорта данных из корзины S3, в которой хранятся ваши данные.

Затем создайте нового пользователя IAM, от имени которого будет работать сканер. Создайте его из этого диалогового окна, а затем выберите его в списке (возможно, вам придется нажать кнопку обновления рядом со списком).

Вы можете задать расписание для сканера, используя стандартный синтаксис cron или выбрав один из предопределенных параметров. Вы также можете запустить его вручную из консоли, если хотите.

Выберите выходную базу данных из каталога данных. Если вы использовали Athena раньше, у вас может быть собственная база данных, но если нет, база данных по умолчанию должна работать нормально. Сканер создает для себя таблицу для хранения данных.

Преобразование данных

После импорта данных в базу данных каталога данных их можно использовать в других функциях AWS Glue. Например, если вы хотите обработать свои данные, вы можете создать новое задание на вкладке «Задания» для обработки преобразования данных.

Дайте заданию имя и выберите свою роль IAM. Выберите «Предлагаемый сценарий, сгенерированный AWS Glue» в качестве сценария, который запускает задание, если вы не хотите писать его вручную.

На следующей вкладке выберите таблицу, в которую ваши данные были импортированы сканером. Нажмите «Далее», а затем выберите «Изменить схему» в качестве типа преобразования.

Вместо этого вы можете создать новые файлы или обновить текущие с помощью новой схемы. Если вы конвертируете в паркет или другие форматы, вам нужно создать новые файлы.

На следующей странице вы можете настроить, где происходит вся магия. Каждый столбец в исходном файле сопоставляется со столбцом в выходном файле. Вы можете удалить столбцы и добавить новые, если хотите. По умолчанию это сопоставление один к одному, поэтому, если вы просто конвертируете между форматами, вы можете игнорировать эту страницу.

Затем вы попадаете в редактор скриптов, где AWS предварительно загрузил скрипт, который выполняет правильное преобразование для вас. Вы можете запустить его вручную с этой вкладки в консоли или настроить его с помощью триггера для запуска по фиксированному расписанию.

Athena также можно настроить для загрузки данных из сканера AWS Glue, а не из фиксированного пути в S3. Вы также можете использовать его для более точного управления импортируемыми данными.