Возможности AWS Glue

В чем преимущества Glue?

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

Discover

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

Сканеры AWS Glue подключаются к исходному или целевому хранилищу данных, проходят по ранжированному списку классификаторов для определения схемы данных, а затем создают метаданные в каталоге данных AWS Glue. Метаданные сохраняются в таблицах каталога данных и используются в процессе подготовки заданий извлечения, преобразования и загрузки (ETL). Сканеры сервиса можно запускать по расписанию, по требованию или при наступлении события, чтобы всегда поддерживать метаданные в актуальном состоянии.

Реестр схем AWS Glue – бессерверная функция AWS Glue, которая позволяет без дополнительной оплаты проверять и контролировать изменение потоковых данных с помощью зарегистрированных схем Apache Avro. Через сериализаторы и десериализаторы, лицензированные компанией Apache, реестр схем AWS Glue интегрируется с приложениями на Java, разработанные для Apache Kafka, Управляемой потоковой передачи Amazon для Apache Kafka (Amazon MSK), Потоков данных Amazon Kinesis, Apache Flink, Аналитики данных Amazon Kinesis для Apache Flink и AWS Lambda. Если приложения потоковой передачи данных интегрированы с реестром схем AWS Glue, вы можете оптимизировать качество данных и предотвратить неожиданные изменения с помощью проверок совместимости, которые управляют развитием схемы. Кроме того, можно создавать или обновлять таблицы и разделы AWS Glue с использованием схем, которые хранятся в реестре.

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

Подготовка

Каталог AWS Glue упрощает очистку и подготовку данных к анализу, и для этого вам не нужно быть экспертом в машинном обучении. Функция FindMatches убирает повторы и находит записи, которые не полностью соответствуют друг другу. Например, с помощью FindMatches можно найти в базе данных дублирующиеся записи по ресторанам, когда в одной записи указана, скажем, «Пицца Джо» по адресу «Проспект Ленина, 121», а в другой – «Пиццерия Джозефа» по адресу «Ленина, 121». FindMatches попросит отметить наборы записей как совпадающие или не совпадающие. За счет этого система будет определять критерии, по которым пара записей считается совпадающей, и создаст задание ETL, которое поможет найти дублирующиеся записи в базе данных или совпадающие записи в двух базах данных.

Разработчикам, которые предпочитают создавать ETL‑код интерактивно, AWS Glue предоставляет адреса для редактирования, отладки и тестирования сгенерированного кода. Вы можете использовать свою любимую интегрированную среду разработки (IDE) или ноутбук. Можно создавать специальные операторы чтения, записи и преобразования и импортировать их в ETL‑задания AWS Glue в виде специальных библиотек. Созданный код можно размещать в нашем репозитории GitHub, который помогает обмениваться наработками с другими разработчиками.

AWS Glue DataBrew предоставляет интерактивный визуальный интерфейс для таких пользователей, как специалисты по обработке и анализу данных, предоставляя им возможность очистки и нормализации данных без написания кода. Можно легко визуализировать, очищать и нормализовать данные прямо из озера данных, хранилищ данных и баз данных, например из Простого сервиса хранения данных Amazon (Amazon S3), Amazon Redshift, Amazon Aurora и Службы реляционных баз данных Amazon (Amazon RDS). Можно выбрать из более чем 250 встроенных преобразований для объединения, сведения и перестановки данных, а также для автоматизации задач подготовки данных, применяя сохраненные преобразования непосредственно к новым входящим данным.

Функция обнаружения конфиденциальных данных AWS Glue помогает определять, идентифицировать и обрабатывать конфиденциальные данные в конвейере и озере данных. После идентификации вы можете исправлять их путем редактирования, замены или отправки сообщений о персональных (PII) и других типах данных, которые считаются конфиденциальными. Обнаружение конфиденциальных данных AWS Glue упрощает идентификацию и маскировку конфиденциальных данных, в том числе персональных (например, имени, номера страхового полиса, адреса, электронной почты и сведений водительского удостоверения).

Разработчикам нравится Python за легкость использования и богатую коллекцию встроенных библиотек для обработки данных. Они хотят использовать знакомый тип примитива Python для обработки больших наборов данных. AWS Glue for Ray помогает инженерам данных обрабатывать большие наборы данных с помощью языка Python и его популярных библиотек. AWS Glue for Ray использует Ray.io, унифицированную вычислительную платформу с открытым исходным кодом, которая помогает масштабировать рабочие нагрузки Python от одного узла до сотен. AWS Glue for Ray работает без сервера, поэтому управлять инфраструктурой не требуется.

AWS Glue помогает создавать нестандартные визуальные преобразования, которые можно определять и многократно использовать, а также делиться логикой ETL. С помощью AWS Glue Custom Visual Transforms инженеры данных могут писать и передавать специфическую для бизнеса логику Apache Spark, снижая зависимость от разработчиков Spark и упрощая актуализацию ETL. Такие преобразования доступны для всех заданий в аккаунте AWS, как визуальных, так и основанных на коде.

Интеграция

Интерактивные сеансы AWS Glue Interactive Sessions, которые являются бессерверной возможностью этого сервиса, упрощают разработку заданий по интеграции данных. Интерактивные сеансы AWS Glue дают инженерам данных возможность интерактивного изучения и подготовки данных. Они могут также исследовать данные, экспериментировать с ними и обрабатывать их в интерактивном режиме с помощью интегрированной среды разработки или ноутбука на свой выбор.

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

Задания AWS Glue можно вызывать по расписанию, по запросу или при наступлении события. Сервис позволяет запускать множество заданий параллельно или указывать зависимости между заданиями для построения сложных ETL‑конвейеров. AWS Glue обрабатывает зависимости между заданиями, фильтрует ошибочные данные и повторно запускает задания в случае сбоев. Все журналы и оповещения отправляются в Amazon CloudWatch, что позволяет централизованно осуществлять мониторинг и получать уведомления.

AWS Glue интегрируется с Git, широко используемой системой контроля версий с открытым исходным кодом. Вы можете использовать GitHub и AWS CodeCommit для хранения истории изменений в заданиях AWS Glue и применения текущих практик DevOps для их развертывания. Интеграция Git в задания AWS Glue действует для всех типов заданий AWS Glue, как визуальных, так и в виде кода. Она реализована в виде интеграции с GitHub и CodeCommit, что упрощает использование инструментов автоматизации, таких как Jenkins и AWS CodeDeploy, для развертывания заданий AWS Glue.

AWS Glue Flex – это класс гибкого выполнения заданий, который позволяет снизить стоимость несрочных рабочих нагрузок по интеграции данных (например, предварительных заданий, тестирования и загрузки данных) до 35 %. AWS Glue имеет два класса выполнения заданий: стандартный и гибкий. Класс стандартного выполнения идеально подходит для чувствительных ко времени рабочих нагрузок, требующих быстрого запуска заданий и выделенных ресурсов. AWS Glue Flex подходит для нечувствительных ко времени заданий, время начала и завершения которых может меняться.

AWS Glue нативно поддерживает три платформы с открытым исходным кодом: Apache Hudi, Apache Iceberg и Linux Foundation Delta Lake. Они помогают управлять данными с поддержкой согласованности транзакций для использования в озере данных на основе Amazon S3.

Сервис Качество данных AWS Glue помогает вам повышать качество данных и укреплять уверенность в их правильности. Он автоматически измеряет, отслеживает качество данных в ваших озерах и конвейерах данных, а также управляет им. Также он автоматически вычисляет статистические показатели, дает рекомендации по правилам обеспечения качества, отслеживает случаи понижения качества и предупреждает вас о них, упрощает идентификацию отсутствующих, несвежих или некачественных данных до того как они повлияют на ваш бизнес.

Преобразование

AWS Glue Studio позволяет создавать высокомасштабируемые задания ETL для распределенной обработки без экспертных знаний по Apache Spark. Вы определяете нужный процесс ETL в редакторе заданий, используя визуальный механизм перетаскивания, а затем AWS Glue автоматически генерирует код для извлечения, преобразования и загрузки данных. Код генерируется на Scala или Python для среды Apache Spark.

Задания бессерверных ETL-операций с потоковыми данными в AWS Glue непрерывно получают данные из источников потоковой передачи, таких как Amazon Kinesis и Amazon MSK, «на лету» очищают и преобразуют их и за считаные секунды делают доступными в целевом хранилище данных для дальнейшего анализа. Эта возможность предназначена для обработки данных событий, например потоковых данных событий IoT, истории посещений и сетевых журналов. Потоковые ETL-задания в AWS Glue можно использовать для расширения и агрегации данных, объединения источников пакетных и потоковых данных, а также выполнения ряда сложных аналитических задач и операций машинного обучения.