Общие вопросы
Вопрос. Что такое AWS Glue?
AWS Glue – это бессерверная служба интеграции данных, упрощающая поиск, подготовку и объединение данных для анализа, машинного обучения и разработки приложений. AWS Glue предоставляет все необходимые средства для интеграции данных, чтобы вы могли приступить к анализированию данных и их использованию уже через несколько минут и не тратить на это целые месяцы. Визуальные интерфейсы и интерфейсы на основе кода, представленные AWS Glue, упрощают интеграцию данных. Пользователи могут без труда искать данные и получать к ним доступ, используя каталог данных AWS Glue. Инженеры по обработке данных и разработчики ETL (извлечение, преобразование и загрузка) могут использовать AWS Glue Studio для наглядного создания, запуска и мониторинга рабочих процессов ETL с помощью нескольких щелчков. Аналитики и специалисты по работе с данными могут использовать AWS Glue DataBrew для визуальной оптимизации, очистки и нормализации данных без написания кода.
Вопрос. Как начать работу с AWS Glue?
Чтобы начать использовать AWS Glue, просто войдите в Консоль управления AWS и перейдите в раздел «Glue», который расположен в категории «Аналитика». Можно воспользоваться одним из наших пошаговых учебных пособий, в котором рассмотрен пример использования сервиса AWS Glue. Образцы кода ETL также можно найти в репозитории GitHub (раздел Лаборатории AWS).
Вопрос. Какие главные компоненты сервиса AWS Glue?
AWS Glue состоит из каталога данных, который представляет собой центральный репозиторий метаданных; движок ETL, который может автоматически генерировать код Scala или Python; гибкий планировщик, отвечающий за разрешение зависимостей, мониторинг заданий и их повторный запуск; AWS Glue DataBrew для очистки и нормализации данных с помощью визуального интерфейса. Вместе эти возможности позволяют автоматизировать большую часть трудоемких однообразных задач, связанных с обеспечением работоспособности, включая обнаружение, классификацию, очистку, дополнение и перемещение данных, что позволяет уделять больше времени их анализу.
Вопрос: В каких случаях стоит использовать AWS Glue?
AWS Glue следует использовать для обнаружения характеристик данных, для преобразования данных и их подготовки к анализу. Glue может автоматически обнаруживать структурированные и слабоструктурированные данные, сохраненные в озере данных в Amazon S3, хранилище данных в Amazon Redshift и различных базах данных на платформе AWS. Сервис предлагает унифицированное представление данных с помощью каталога данных Glue, доступного для ETL‑операций, опросов и составления отчетов в таких сервисах, как Amazon Athena, Amazon EMR и Amazon Redshift Spectrum. Glue автоматически генерирует код на Scala или Python для ETL‑заданий, и этот программный код можно редактировать с помощью привычных инструментов. Вы можете использовать AWS Glue DataBrew для визуальной очистки и нормализации данных без написания кода.
Вопрос. Какие источники данных поддерживает AWS Glue?
AWS Glue обеспечивает встроенную поддержку данных, хранящихся в Amazon Aurora, Amazon RDS for MySQL, Amazon RDS for Oracle, Amazon RDS for PostgreSQL, Amazon RDS for SQL Server, Amazon Redshift, DynamoDB и Amazon S3, а также в базах данных MySQL, Oracle, Microsoft SQL Server и PostgreSQL в облаке Amazon Virtual Private Cloud (Amazon VPC), работающем на Amazon EC2. AWS Glue также поддерживает потоки данных из Amazon MSK, Amazon Kinesis Data Streams и Apache Kafka.
Кроме того, можно создать специальный программный код на Scala или Python и импортировать собственные библиотеки и файлы Jar в ETL‑задания AWS Glue, чтобы получить доступ к источникам данных, не имеющим встроенной поддержки в сервисе AWS Glue. Подробнее об импорте собственных библиотек см. в документации.
Вопрос. Как сервис AWS Glue связан с сервисом AWS Lake Formation?
Ответ. Сервисы Lake Formation и AWS Glue используют общую инфраструктуру, в том числе элементы управления консоли, функции создания кода ETL и мониторинга заданий, общий каталог данных и бессерверную архитектуру. Сервис AWS Glue ориентирован на эти функции, а сервис Lake Formation включает функции сервиса AWS Glue и предоставляет дополнительные возможности, упрощающие создание и защиту озера данных, а также управление им. Дополнительные сведения см. на страницах о сервисе AWS Lake Formation.
Каталог данных AWS Glue
Вопрос: Что такое каталог данных AWS Glue?
Каталог данных AWS Glue – центральный репозиторий, предназначенный для хранения структурных и операционных метаданных всех наборов данных. Для определенного набора данных можно сохранять определения таблиц и физическое местоположение, добавлять релевантные бизнес‑атрибуты, а также отслеживать изменения данных с течением времени.
Каталог данных AWS Glue совместим с Apache Hive Metastore и является готовой заменой для приложений Apache Hive Metastore для больших данных, работающих в сервисе Amazon EMR. Дополнительную информацию о настройке кластера EMR для использования каталога данных AWS Glue в качестве хранилища Apache Hive Metastore см. по ссылке.
Каталог данных AWS Glue также обеспечивает встроенную интеграцию с сервисами Amazon Athena, Amazon EMR и Amazon Redshift Spectrum. Определения таблиц, добавленные в каталог данных Glue, сразу становятся доступными для ETL‑операций и запросов из сервисов Amazon Athena, Amazon EMR и Amazon Redshift Spectrum, что позволяет достичь унифицированного представления данных в этих сервисах.
Вопрос: Как добавить метаданные в каталог данных AWS Glue?
AWS Glue предлагает несколько способов отправки метаданных в каталог данных AWS Glue. Сканеры Glue исследуют различные хранилища данных для автоматического обнаружения схем, структуры разделов и наполнения каталога данных Glue соответствующими определениями таблиц и статистикой. Сканеры можно запускать по расписанию, чтобы метаданные всегда были актуальными и соответствовали реальным данным. Кроме того, сведения о таблицах можно добавлять и обновлять вручную с помощью консоли AWS Glue или через вызов API. Можно также исполнять операторы DDL Hive через консоль Amazon Athena или клиент Hive в кластере Amazon EMR. Наконец, если у вас есть постоянное хранилище Apache Hive Metastore, можно выполнить групповой импорт метаданных в каталог данных AWS Glue с помощью нашего скрипта импорта.
Вопрос: Что представляют собой сканеры AWS Glue?
Сканер AWS Glue подключается к хранилищу данных, перемещается по приоритезированному списку классификаторов, чтобы определить схему и другие статистические данные, а затем сохраняет полученные метаданные в каталоге данных Glue. Сканеры можно запускать периодически, чтобы определять появление новых данных или изменения в существующих данных, включая изменения в определениях таблиц. Сканеры AWS Glue добавляют новые таблицы, новые разделы к существующим таблицам и новые версии определений таблиц. Сканеры Glue можно настраивать так, чтобы они обрабатывали пользовательские типы файлов.
Вопрос: Как импортировать данные из существующего хранилища Apache Hive Metastore в каталог данных AWS Glue?
Нужно просто запустить ETL‑задание, которое считает данные из Apache Hive Metastore, экспортирует их в промежуточном формате в Amazon S3, а затем импортирует в каталог данных AWS Glue.
Вопрос: Нужно ли поддерживать работу с Apache Hive Metastore, если метаданные хранятся в каталоге данных AWS Glue?
Нет. Каталог данных AWS Glue совместим с Apache Hive Metastore. Можно указать адрес сервера для каталога данных Glue и использовать его в качестве замены для Apache Hive Metastore. Дополнительную информацию о настройке кластера на работу с каталогом данных AWS Glue в качестве хранилища Apache Hive Metastore см. в документации по ссылке.
Вопрос: Как начать работу с каталогом данных AWS Glue в качестве общего репозитория метаданных, если я работаю с сервисом Amazon Athena или Amazon Redshift Spectrum и таблицы размещены во внутреннем каталоге данных Amazon Athena?
Перед началом работы с каталогом данных AWS Glue в качестве общего репозитория метаданных для сервисов Amazon Athena, Amazon Redshift Spectrum и AWS Glue необходимо преобразовать каталог данных Amazon Athena в каталог данных AWS Glue. Процесс преобразования описан здесь.
Вопрос. В каких сервисах аналитики используется каталог данных AWS Glue?
К метаданным, сохраненным в каталоге данных AWS Glue, можно получить доступ из сервиса ETL AWS Glue, сервисов Amazon Athena, Amazon EMR, Amazon Redshift Spectrum и сервисов сторонних поставщиков.
Реестр схем AWS Glue
Вопрос. Что такое реестр схем AWS Glue?
AWS Glue Schema Registry – бессерверная функция AWS Glue, которая дает возможность без дополнительной оплаты проверять и контролировать изменение потоковых данных с помощью схем, зарегистрированных в форматах данных Apache Avro и JSON Schema. Через сериализаторы и десериализаторы, лицензированные компанией Apache, реестр схем интегрируется с приложениями на Java, разработанными для Apache Kafka, Amazon Managed Streaming for Apache Kafka (MSK), Amazon Kinesis Data Streams, Apache Flink, Amazon Kinesis Data Analytics для Apache Flink и AWS Lambda. Если приложения потоковой передачи данных интегрированы с реестром схем, вы можете оптимизировать качество данных и предотвратить неожиданные изменения с помощью проверок совместимости, которые управляют развитием схемы. Кроме того, можно создавать или обновлять таблицы и разделы AWS Glue с использованием схем Apache Avro, которые хранятся в реестре.
Вопрос. Для чего нужен реестр схем AWS Glue?
Реестр схем AWS Glue предоставляет такие возможности.
- Подтверждение схем. После интеграции приложений потоковой передачи данных с реестром схем AWS Glue, используемых для создания данных, проверяют на соответствие схемам в центральном реестре, что дает возможность централизовано управлять качеством данных.
- Защита развития схем. Вы получаете возможность устанавливать правила разрешения и запрета развития схем с помощью одного из восьми режимов совместимости.
- Повышение качества данных. Средства сериализации выполняют проверку соответствия схем, используемых производителями данных, хранящимся в реестре схемам, тем самым способствуя повышению качества создаваемых данных и сокращению количества последующих проблем, связанных с неожиданным отклонением схем.
- Сокращение затрат. Средства сериализации преобразуют данные в двоичный формат и могут сжимать их перед их доставкой, тем самым способствуя сокращению затрат на передачу и хранение.
- Повышение эффективности обработки. Во многих случаях в потоке данных содержатся записи разных схем. Благодаря реестру схем приложения, считывающие данные из потоков данных, могут выполнять избирательную обработку каждой записи на основании схемы, при этом не прибегая к анализу их содержимого, что позволяет повысить эффективность обработки.
Вопрос. Какой формат данных, язык клиента и интеграции поддерживаются реестром схем AWS Glue?
Реестр схем поддерживает форматы данных Apache Avro и JSON Schema и клиентские приложения Java. Мы планируем распространять поддержку на другие форматы данных и клиентов, не использующих Java. Реестр схем интегрируется с приложениями, разработанными для Apache Kafka, Amazon Managed Streaming for Apache Kafka (MSK), Amazon Kinesis Data Streams, Apache Flink, Amazon Kinesis Data Analytics для Apache Flink и AWS Lambda.
Вопрос. Какие правила развития поддерживает реестр схем AWS Glue?
К режимам совместимости, доступным для управления развитием схем, относятся: «Обратная», «Обратная совместимость со всеми версиями», «Прямая», «Прямая совместимость со всеми версиями», «Полная», «Полная совместимость со всеми версиями», «Отсутствует» и «Отключена». Чтобы узнать больше о правилах совместимости, ознакомьтесь с документацией пользователя для реестров схем.
Вопрос. Как реестр схем AWS Glue сохраняет высокую доступность для моих приложений?
Хранилище и панель управления реестра схем выполнены с возможностью обеспечения высокой доступности и регулируются Соглашением об уровне обслуживания AWS Glue, а средства сериализации и десериализации используют наилучшие методы кеширования для повышения доступности схем для клиентов.
Вопрос. Основан ли реестр схем AWS Glue на технологии с открытым исходным кодом?
Хранилище реестра схем AWS Glue представляет собой сервис AWS, тогда как его средства сериализации и десериализации представляют собой компоненты с открытым исходным кодом с лицензией Apache.
Вопрос. Выполняет ли реестр схем AWS Glue шифрование при хранении и при передаче?
Да. Ваши клиенты связываются с реестром схем посредством вызовов API, которые шифруют передаваемые данные с помощью шифрования TLS по протоколу HTTPS. Схемы, хранящиеся в реестре схем, всегда шифруются при хранении за счет использования управляемого сервиса ключа KMS.
Вопрос. Как использовать частное подключение к реестру схем AWS Glue?
Для подключения VPC производителя данных к AWS можно использовать AWS PrivateLink Glue, указав адреса интерфейса VPC для AWS Glue. При использовании адреса интерфейса VPC связь между VPC и AWS Glue осуществляется полностью по сети AWS. Дополнительные сведения см. в документации пользователя.
Вопрос. Как можно отслеживать использование реестра схем AWS Glue?
Метрики AWS CloudWatch доступны на уровне бесплатного пользования CloudWatch. Доступ к этим метрикам можно получить на консоли CloudWatch. Дополнительные сведения см. в документации пользователя реестра схем AWS Glue.
Вопрос. Есть ли в реестре схем AWS Glue инструменты для управления авторизацией пользователей?
Да. Реестр схем поддерживает как разрешения на уровне доступа к ресурсам, так и политики IAM на основе идентификации.
Вопрос. Как выполнить миграцию из существующего реестра схем в реестр схем AWS Glue?
Порядок действий для миграции из стороннего реестра схем в реестр схем AWS Glue описан в документации пользователя.
Извлечение, преобразование и загрузка данных (Extract, transform, and load, ETL)
Вопрос. Есть ли в AWS Glue визуальный интерфейс ETL, не требующий написания кода?
Да. AWS Glue Studio предлагает графический интерфейс для создания заданий Glue по обработке данных. После того, как вы определите в визуальном интерфейсе поток данных из источников, нужные трансформации и целевые объекты, студия AWS Glue сгенерирует для вас код для Apache Spark.
Вопрос. Какой язык программирования можно использовать для написания кода ETL для AWS Glue?
Можно использовать Scala или Python.
Вопрос: Как можно настроить код ETL, генерируемый сервисом AWS Glue?
Система рекомендаций ETL‑скриптов AWS Glue генерирует код Scala или Python. Она использует специальную ETL‑библиотеку сервиса Glue, которая позволяет упростить доступ к источникам данных, а также управлять выполнением заданий. Дополнительные сведения о библиотеке см. в документации. Пользователи могут писать код ETL с помощью специальной библиотеки AWS Glue или создавать произвольный код на Scala или Python с помощью встроенного редактора скриптов в консоли AWS Glue, а также загружать автоматически сгенерированный код и редактировать его в своей IDE. Кроме того, можно загрузить один из множества примеров, размещенных в репозитории Github, и настроить этот код.
Вопрос: Можно ли импортировать в составе ETL‑скрипта пользовательские библиотеки?
Да. Можно импортировать собственные библиотеки Python и файлы Jar в свое ETL‑задание AWS Glue. Дополнительную информацию см. в документации по ссылке.
Вопрос: Можно ли использовать собственный код?
Да. Можно написать код самостоятельно с помощью ETL‑библиотеки AWS Glue или создать код на Scala или Python и загрузить его в ETL‑задание Glue. Дополнительную информацию см. в документации по ссылке.
Вопрос: Как разрабатывать код ETL в собственной IDE?
При создании кода можно подключаться к адресам разработки, предлагающим различные варианты для подключения текстовых редакторов и сред разработки.
Вопрос: Как построить комплексный рабочий процесс ETL с помощью нескольких заданий в AWS Glue?
Помимо ETL‑библиотеки и генерации кода, сервис AWS Glue предлагает надежный набор функций оркестрации, позволяющий управлять зависимостями между несколькими заданиями при построении комплексных рабочих процессов ETL. ETL‑задания AWS Glue можно инициировать по расписанию или по событию завершения задания. Можно инициировать несколько задач параллельно или выполнять их последовательно по событию завершения задания. Дополнительно можно инициировать одно или несколько заданий Glue из внешнего источника, например с помощью функции AWS Lambda.
Вопрос: Как AWS Glue осуществляет мониторинг зависимостей?
AWS Glue управляет зависимостями между несколькими заданиями или зависимостями по внешним событиям с помощью триггеров. Триггеры могут контролировать одно или несколько заданий, а также вызывать одно или несколько заданий. Можно разместить триггер, работающий по расписанию и периодически вызывающий задания, триггер, работающий по требованию, или триггер, работающий по завершению задания.
Вопрос. Как AWS Glue обрабатывает ошибки ETL?
AWS Glue отслеживает метрики событий и ошибки задания и отправляет уведомления в Amazon CloudWatch. С помощью Amazon CloudWatch настраивается перечень действий, которые можно инициировать на основании определенных уведомлений, полученных из AWS Glue. Например, при получении уведомления об ошибке или успешном завершении из сервиса Glue можно настроить запуск функции AWS Lambda. Glue также обеспечивает повторное выполнение по умолчанию: при возникновении сбоя выполняется еще три попытки, после чего сервис отправляет уведомление об ошибке.
Вопрос: Можно ли исполнять существующие ETL‑задания в AWS Glue?
Да. AWS Glue позволяет исполнять существующий код на Scala или Python. Просто загрузите код в Amazon S3 и создайте одно или несколько заданий, использующих этот код. Один и тот же код можно использовать в нескольких заданиях, указав в них местонахождение кода в Amazon S3.
Вопрос. Как использовать сервис AWS Glue для выполнения ETL‑операций над потоковыми данными?
AWS Glue поддерживает ETL-операции над потоковыми данными из Amazon Kinesis Data Streams, Apache Kafka и Amazon MSK. Добавьте потоковые данные в каталог данных Glue, а затем выберите его в качестве источника данных при настройке задания AWS Glue.
Вопрос. Обязательно ли при работе с сервисом использовать и каталог данных AWS Glue, и ETL?
Нет. Мы считаем, что каталог данных AWS Glue и ETL вместе образуют комплексное ETL‑решение, но каждую из этих возможностей можно использовать и отдельно.
Вопрос. Когда для обработки потоковых данных следует использовать AWS Glue, а когда – Amazon Kinesis Data Analytics?
И AWS Glue, и Amazon Kinesis Data Analytics можно использовать для обработки потоковых данных. AWS Glue рекомендуется, прежде всего, для сценариев использования, связанных с ETL-операциями, а также при необходимости запуска заданий на бессерверной платформе на основе Apache Spark. Amazon Kinesis Data Analytics рекомендуется, прежде всего, для сценариев использования, связанных с аналитикой, а также при необходимости запуска заданий на бессерверной платформе на основе Apache Flink.
Благодаря потоковым ETL-операциям в AWS Glue становятся возможными расширенные ETL-операции на потоковых данных с использованием той же бессерверной платформы с оплатой по факту использования, которой вы пользуетесь в настоящее время для пакетных заданий. AWS Glue генерирует настраиваемый код ETL для подготовки данных на лету и обладает встроенными функциями для обработки полуструктурированных потоковых данных или данных, полученных из хранилищ с эволюционирующей схемой. Используйте AWS Glue, чтобы применять к потокам данных встроенные и оптимизированные для Spark средства преобразования и загружать эти потоки в озеро или другое хранилище данных.
Amazon Kinesis Data Analytics позволяет создавать сложные потоковые приложения для анализа потоковых данных в реальном времени. Этот сервис предоставляет бессерверную среду выполнения Apache Flink, которая автоматически масштабируется без участия серверов и сохраняет состояние приложения. Используйте Amazon Kinesis Data Analytics для аналитики в реальном времени и общей обработки потоковых данных.
Вопрос. Когда следует использовать AWS Glue, а когда – Amazon Kinesis Data Firehose?
Как AWS Glue, так и Amazon Kinesis Data Firehose можно использовать для потоковых ETL-операций. AWS Glue рекомендуется использовать для сложных ETL-операций, в том числе для объединения потоков, а также для разбиения выходных данных на разделы в Amazon S3 на основании контента. Amazon Kinesis Data Firehose рекомендуется использовать, если вашими основными задачами является доставка данных и подготовка данных к обработке после доставки.
Благодаря потоковым ETL-операциям в AWS Glue становятся возможными расширенные ETL-операции на потоковых данных с использованием той же бессерверной платформы с оплатой по факту использования, которой вы пользуетесь в настоящее время для пакетных заданий. AWS Glue генерирует настраиваемый код ETL для подготовки данных на лету и обладает встроенными функциями для обработки полуструктурированных потоковых данных или данных, полученных из хранилищ с эволюционирующей схемой. Используйте Glue для сложных преобразований потоков данных, расширения записей за счет информации из других потоков и хранилищ для длительного хранения данных и последующей загрузки записей в озеро или другое хранилище данных.
Использование потоковых ETL-операций в Amazon Kinesis Data Firehose упрощает сбор, преобразование и доставку потоковых данных. Amazon Kinesis Data Firehose обеспечивает ресурсы для ETL-операций, в том числе для бессерверного преобразования данных с помощью AWS Lambda и преобразования формата JSON в Parquet. В этот сервис также включены ресурсы ETL, упрощающие обработку данных после доставки, однако в него не входят расширенные ресурсы ETL, поддерживаемые AWS Glue.
Дедупликация данных
Вопрос. Какие задачи решает ML‑преобразование FindMatches?
Возможность FindMatches, как правило, решает задачи по связыванию записей и дедупликации данных. Дедупликацию требуется проводить для выявления в базе данных записей, которые совпадают по своему содержанию, но при этом внесены как отдельные записи. Такая задача тривиальна, если записи можно выявить по уникальному ключу (например, изделия с индивидуальным универсальным товарным кодом), но становится значительно труднее, когда нужно найти «нечеткие совпадения».
Связывание записей по сути представляет собой ту же задачу, что и дедупликация, но обычно подразумевает не дедупликацию в одной базе данных, а необходимость объединить «нечеткие совпадения» в двух базах данных, в которых нет одинаковых уникальных ключей. В качестве примера можно привести задачу поиска совпадений между крупной базой данных клиентов и небольшой базой данных известных мошенников. С помощью FindMatches можно провести и связывание записей, и дедупликацию.
К примеру, ML‑преобразование FindMatches в AWS Glue поможет справиться со следующими задачами.
Связывание записей о пациентах между больницами, чтобы предоставить врачам больше информации и помочь им в лечении. FindMatches можно использовать на двух отдельных базах данных, обе из которых содержат общие поля, такие как имя, дата рождения, домашний адрес, телефон и т. д.
Дедупликация базы данных по фильмам, содержащей такие столбцы, как «название», «краткое содержание», «год выхода», «продолжительность» и «в ролях». Например, один и тот же фильм может быть указан в различных записях как «Звездные войны», «Звездные войны: Новая надежда» и «Звездные войны: Эпизод IV – Новая надежда (специальное издание)».
Автоматическое группирование всех похожих продуктов в онлайн‑магазине за счет выявления одинаковых позиций в каталоге одежды, где изделия считаются одинаковыми, если у них совпадает все, кроме размера и цвета. Поэтому записи «Синие джинсы Levi 501, размер 34x34» и «Джинсы Levi 501 – черные, размер 32x31» считаются аналогичными.
Вопрос: Как AWS Glue проводит дедупликацию данных?
ML‑преобразование FindMatches в AWS Glue позволяет с легкостью находить и связывать записи, относящиеся к одному объекту, но не имеющие надежного идентификатора. До появления FindMatches разработчики обычно решали задачи на соответствие данных детерминистическими методами, задавая огромное количество правил вручную. FindMatches использует алгоритмы машинного обучения, чтобы научиться сопоставлять записи по бизнес‑критериям каждого конкретного разработчика. Сначала FindMatches находит записи, которые клиенту необходимо отметить как совпадающие или не совпадающие, а затем создает преобразование на основе машинного обучения. После этого клиенты могут применить такое преобразование к своей базе данных, чтобы найти совпадающие записи, или запросить у FindMatches дополнительные записи для отметки, чтобы повысить точность ML‑преобразования.
Вопрос: Что такое ML‑преобразования?
ML‑преобразования представляют целевые объекты для создания и управления преобразованиями на основе машинного обучения. После создания и обучения ML‑преобразований их можно выполнять в стандартных скриптах AWS Glue. Клиенты выбирают конкретный алгоритм (например, ML‑преобразование FindMatches), наборы входных данных, примеры для обучения и параметры настройки, нужные для данного алгоритма. AWS Glue строит на основе этих данных ML‑преобразование, которое можно включить в обычные рабочие процессы с заданиями ETL.
Вопрос: Как работают ML‑преобразования?
AWS Glue включает специализированные алгоритмы преобразования данных на основе машинного обучения, с помощью которых пользователи могут создавать собственные ML‑преобразования. Сюда входят дедупликация записей и поиск соответствий.
Чтобы начать работу и создать первую модель ML‑преобразования, нужно перейти во вкладку «ML Transforms» (ML‑преобразования) в консоли, воспользоваться адресами сервиса ML‑преобразований или получить доступ к обучению ML‑преобразований через интерфейс командной строки. Вкладка «ML Transforms» предоставляет удобный интерфейс для управления пользовательскими преобразованиями. Требования к ML‑преобразования отличаются от требований к другим преобразованиям, включая необходимость отдельного обучения, отлаживания параметров и выполнения рабочих процессов, необходимость оценивать показатели качества созданных преобразований и необходимость поиска и сбора дополнительных контрольных данных для обучения.
Чтобы создать ML‑преобразование через консоль, сперва необходимо выбрать тип преобразования (например, дедупликацию записей или поиск совпадений) и предоставить требуемые источники данных, найденные до этого в каталоге данных. В зависимости от типа преобразования может потребоваться указать контрольные данные для обучения или дополнительные параметры. Для каждого преобразования можно просматривать состояние заданий по обучению и показатели качества. (Отчет по метрикам качества формируется по контрольной выборке, предоставленной пользователем.)
Когда показатели достигнут желаемого уровня, модели ML‑преобразований можно переключить на использование в рабочих процессах. После этого ML‑преобразования можно использовать в рабочих процессах ETL как в автоматически сгенерированном сервисом коде, так и в заданных пользователем скриптах, назначенным в других заданиях, также как готовые преобразования, предлагаемые в библиотеках AWS Glue.
Вопрос: Можно ли посмотреть какую‑нибудь презентацию по использованию AWS Glue (и AWS Lake Formation) для поиска совпадений и дедупликации записей?
Ответ. Да, полную запись вебинара AWS Tech Talk, «Fuzzy Matching and Deduplicating Data with ML Transforms for AWS Lake Formation» можно найти тут.
AWS Glue DataBrew
Вопрос. Что такое AWS Glue DataBrew?
AWS Glue DataBrew – это инструмент подготовки визуальных данных, с помощью которого аналитики и специалисты по работе с данными могут легко подготовить данные посредством интерактивного визуального интерфейса без написания кода. Благодаря Glue DataBrew можно легко визуализировать, очищать и нормализовать данные прямо из озера данных, хранилищ данных и баз данных, включая Amazon S3, Amazon Redshift, Amazon Aurora и Amazon RDS. В настоящее время сервис AWS Glue DataBrew доступен в следующих регионах: Восток США (Сев. Вирджиния), Запад США (Орегон), ЕС (Ирландия), ЕС (Франкфурт), Азия и Тихий океан (Сингапур), Азия и Тихий океан (Токио), Азия и Тихий океан (Сидней).
Вопрос. Кто может использовать AWS Glue DataBrew?
Сервис AWS Glue DataBrew разработан для пользователей, которым необходимо очищать и нормализовать данные для аналитики и машинного обучения. Основными пользователями сервиса являются аналитики данных и специалисты по работе с данными. К аналитикам данных относятся бизнес-аналитики, аналитики операций, аналитики рыночной конъюнктуры, аналитики правоприменительной практики, финансовые аналитики, экономисты, количественные аналитики или бухгалтеры. К специалистам по работе с данными относятся специалисты по материаловедению, специалисты по биоаналитике и научные сотрудники.
Вопрос. Какие типы преобразований поддерживаются в AWS Glue DataBrew?
Вашему вниманию предлагается более 250 встроенных преобразований для объединения, сведения и перестановки данных без написания кода. Кроме того, AWS Glue DataBrew автоматически рекомендует преобразования, такие как фильтрация аномалий, исправление недопустимых, неправильно классифицированных или повторяющихся данных, нормализация данных до стандартных значений даты и времени или агрегирование для анализа. Для сложных преобразований, например преобразование слов в общее основное слово или корень, Glue DataBrew предоставляет преобразования, использующие передовые методы машинного обучения, такие как обработка естественного языка. Несколько преобразований можно объединить в одну группу, сохранить их как набор команд и применить этот набор непосредственно к новым входящим данным.
Вопрос. Какие форматы файлов поддерживает AWS Glue DataBrew?
Говоря о входных данных, следует отметить, что AWS Glue DataBrew поддерживает широко используемые форматы файлов, например значения с разделителями-запятыми (.csv), JSON и вложенные файлы JSON, Apache Parquet и вложенные файлы Apache Parquet, а также листы Excel. Говоря о выходных данных, следует отметить, что AWS Glue DataBrew поддерживает значения с разделителями-запятыми (.csv), JSON, Apache Parquet, Apache Avro, Apache ORC и XML.
Вопрос. Можно ли получить пробную версию AWS Glue DataBrew бесплатно?
Да. Создайте аккаунт AWS с уровнем бесплатного пользования и перейдите на консоль управления AWS Glue DataBrew, чтобы незамедлительно начать работу бесплатно. Новым пользователям Glue DataBrew первые 40 интерактивных сеансов предоставляются бесплатно. Подробные сведения см. на странице цен AWS Glue.
Вопрос. Нужно ли использовать каталог данных AWS Glue или AWS Lake Formation для использования AWS Glue DataBrew?
Нет. Сервис AWS Glue DataBrew можно использовать без каталога данных AWS Glue или AWS Lake Formation. Тем не менее, при использовании AWS Glue Data Catalog или AWS Lake Formation, пользователи DataBrew могут выбрать доступные наборы данных из единого каталога данных.
Вопрос. Можно ли вести запись всех изменений данных?
Да. Все изменения данных можно визуально отследить на консоли управления AWS Glue DataBrew. Визуальное представление позволяет легко отслеживать изменения и взаимосвязи, внесенные в наборы данных, проекты и наборы команд, а также другие связанные задания. Кроме того, сервис Glue DataBrew записывает все действия в аккаунте в журналах AWS CloudTrail.
Задания AWS Glue Flex
Вопрос. Что такое Glue Flex?
AWS Glue Flex – это класс гибкого выполнения заданий, который позволяет снизить стоимость несрочных рабочих нагрузок по интеграции данных (например, предварительных заданий, тестирования, загрузки данных и т. д.) до 35 %. Glue имеет два класса выполнения заданий: стандартный и гибкий. Класс стандартного выполнения идеально подходит для чувствительных ко времени рабочих нагрузок, требующих быстрого запуска заданий и выделенных ресурсов. Класс гибкого выполнения подходит для несрочных заданий, время начала и завершения которых может меняться. AWS Glue Flex может снизить стоимость ваших рабочих нагрузок, не чувствительных ко времени (например, ночные пакетные ETL-задания, задания на выходные, одноразовые задания массового ввода данных и т. д.).
Вопрос. Чем отличаются классы стандартного и гибкого выполнения заданий AWS Glue?
Классы стандартного и гибкого выполнения заданий AWS Glue имеют разные свойства выполнения. При выборе класса стандартного выполнения задания запускаются немедленно и получают выделенные ресурсы на время выполнения. Задания класса гибкого выполнения запускаются на невыделенных вычислительных ресурсах в AWS, которые могут быть востребованы во время выполнения задания, а время их начала и завершения варьируется. В результате эти два класса выполнения подходят для разных рабочих нагрузок. Класс стандартного выполнения идеально подходит для чувствительных ко времени рабочих нагрузок, требующих быстрого запуска заданий и выделенных ресурсов. Класс гибкого выполнения является менее дорогостоящим и подходит для несрочных заданий, где допустимо расхождение во времени начала и завершения.
Вопрос. Как начать работу с заданиями класса гибкого выполнения AWS Glue Flex?
Класс гибкого выполнения доступен для заданий Glue Spark. Чтобы использовать класс гибкого выполнения, достаточно изменить значение параметра класса выполнения по умолчанию со STANDARD на FLEX. Это можно сделать с помощью Glue Studio или CLI. Дополнительные сведения см. в документации пользователя AWS Glue.
Вопрос. Какие типы рабочих нагрузок интеграции данных и ETL не подходят для класса гибкого выполнения AWS Glue Flex?
Класс гибкого выполнения AWS Glue Flex не подходит для чувствительных ко времени рабочих нагрузок, требующих постоянного времени запуска и выполнения заданий, или для заданий, которые должны завершить выполнение к определенному времени. AWS Glue Flex также не рекомендуется использовать для длительных рабочих нагрузок по интеграции данных, поскольку они с большей вероятностью будут прерываться, что приведет к частым отменам.
Вопрос. Как часто следует ожидать прерывания заданий, обрабатываемых с помощью класса гибкого выполнения AWS Glue Flex?
Доступность и частота перебоев в работе AWS Glue Flex зависит от нескольких факторов, включая регион и зону доступности, время суток, день недели. Доступность ресурсов определяет, будут ли вообще запускаться задания Glue Flex. Хотя в часы пик уровень прерывания может составлять 5–10 %, мы ожидаем, что уровень прерывания заданий Glue Flex составит около 5 % или уровень отказов заданий Glue Flex из-за прерывания составит менее 5 %.
Вопрос. Всегда ли доступен класс гибкого выполнения?
Да, вы всегда можете выбрать класс гибкого выполнения для запуска заданий Glue. Однако способность AWS Glue выполнять эти задания зависит от доступности невыделенных мощностей AWS и количества рабочих, выбранных для вашего задания. Возможно, что в пиковое время у компании Glue может не хватить мощностей для выполнения вашего задания. В этом случае ваше задание не запустится. Вы можете указать значение времени ожидания, по истечении которого Glue отменит задание. Чем больше значение тайм-аута, тем больше шансов, что ваше задание будет выполнено.
Вопрос. Что произойдет, если задание AWS Glue Flex будет прервано во время выполнения?
Если задание Glue Flex прерывается, потому что больше нет достаточного количества работников для его завершения в соответствии с указанным числом работников, задание завершится неудачей. Перед отменой задания Glue будет повторять выполнение неудачных заданий до указанного в определении задания максимального количества повторных попыток. Не следует использовать класс гибкого выполнения для любого задания, которое зависит от других систем или процессов.
Вопрос. Какие типы заданий AWS Glue поддерживаются классом гибкого выполнения?
Класс гибкого выполнения доступен только для заданий Glue Spark. Pythonshell и потоковая передача не поддерживаются. AWS Glue Flex поддерживается Glue версии 3.0 и новее. Класс гибкого выполнения в настоящее время не поддерживает потоковые рабочие нагрузки.
Возможности интеграции продуктов AWS
Вопрос: В каких случаях стоит использовать AWS Glue, а в каких AWS Data Pipeline?
AWS Glue предлагает управляемый ETL‑сервис, работающий в бессерверной среде Apache Spark. Это позволяет сосредоточиться на разработке ETL‑заданий и избавиться от необходимости конфигурирования и управления базовыми вычислительными ресурсами. Сервис AWS Glue использует подход, заключающийся в первостепенной значимости данных, и позволяет сосредоточиться на свойствах данных и операциях их преобразования с целью извлечения важной бизнес‑информации. Он предлагает интегрированный каталог данных, благодаря которому метаданные становятся доступны для ETL‑операций, а также выполнения запросов сервисами Amazon Athena и Amazon Redshift Spectrum.
Сервис AWS Data Pipeline предлагает управляемый сервис оркестрации, обеспечивающий повышенную гибкость в вопросах среды исполнения, а также доступа и контроля над вычислительными ресурсами, исполняющими код, а также самим кодом, отвечающим за обработку данных. AWS Data Pipeline запускает вычислительные ресурсы в аккаунте пользователя, обеспечивая прямой доступ к инстансам Amazon EC2 или кластерам Amazon EMR.
Более того, ETL‑задания AWS Glue работают на базе Scala или Python. Если требуется использовать программное ядро, отличное от Apache Spark, или если нужно исполнять разноплановый набор заданий, работающих на различных платформах, например Hive, Pig, и т. п., в таких случаях следует предпочесть сервис AWS Data Pipeline.
Вопрос: В каких случаях стоит использовать AWS Glue, а в каких Amazon EMR?
Сервис AWS Glue работает на базе среды Apache Spark и предлагает масштабируемую среду исполнения заданий по преобразованию данных. AWS Glue формирует и оптимизирует ETL‑задания и осуществляет мониторинг их выполнения, что позволяет значительно упростить процесс их создания и эксплуатации. Сервис Amazon EMR предоставляет прямой доступ к среде Hadoop, благодаря чему можно воспользоваться низкоуровневым доступом и повышенной гибкостью в работе с инструментами, отличными от Spark.
Вопрос: Когда лучше использовать AWS Glue, а когда – AWS Database Migration Service?
AWS Database Migration Services (DMS) позволяет быстро и безопасно выполнить миграцию баз данных на платформу AWS. Если в сценарии использования требуется миграция баз данных с локальных ресурсов в AWS или репликация баз данных между локальными источниками и источниками в AWS, в таком случае рекомендуется использовать сервис AWS DMS. Когда данные попадут в AWS, сервис AWS Glue можно использовать для перемещения, объединения, реплицирования и преобразования данных из источника данных в другую базу данных или хранилище данных, например в Amazon Redshift.
Вопрос. Когда лучше использовать AWS Glue, а когда – AWS Batch?
Сервис AWS Batch позволяет легко и эффективно исполнять любые пакетные вычисления в AWS, независимо от их сущности. AWS Batch создает вычислительные ресурсы в аккаунте AWS и управляет ими, обеспечивая наглядное представление и полный контроль над используемыми ресурсами. AWS Glue – это полностью управляемый ETL‑сервис, позволяющий исполнять ETL‑задания в бессерверной среде Apache Spark. Если в сценарии использования участвуют ETL‑операции, рекомендуется использовать сервис AWS Glue. В прочих примерах использования, оптимизированных под пакетную обработку, в том числе для проведения некоторых ETL‑операций, возможно, удобнее будет использовать AWS Batch.
Цены и оплата
Вопрос: Как оплачивается использование AWS Glue?
За хранение метаданных в каталоге данных AWS Glue и доступ к ним сверх уровня бесплатного пользования, предусмотренного для каталога AWS Glue, начисляется ежемесячная плата по фиксированным тарифам. Оплате подлежит время работы сканера в секундах на основе почасового тарифа. Минимальная продолжительность работы – 10 минут. Если вы решите использовать адрес сервера разработки для интерактивной разработки кода ETL, дополнительно на основе почасового тарифа будет начисляться посекундная плата за время выделения адреса разработки. Минимальная продолжительность – 10 минут. Дополнительно оплачивается время выполнения ETL‑заданий в секундах на основе почасового тарифа. Минимальная продолжительность составляет 1 минуту либо 10 минут в зависимости от используемой версии Glue. Подробнее см. на странице цен.
Вопрос: Когда начинается и когда заканчивается начисление платы за задания AWS Glue?
Плата начинает начисляться в момент, когда задание запланировано на исполнение, и начисляется до тех пор, пока задание не завершится полностью. При использовании AWS Glue оплачивается только время исполнения задания, а не задействованные ресурсы среды или период завершения работы.
Безопасность и доступность
Вопрос: Как AWS Glue обеспечивает безопасность данных?
Мы предлагаем шифрование данных при хранении на стороне сервера и используем SSL для передачи данных.
Вопрос: Какие лимиты действуют для сервиса AWS Glue?
Подробнее о лимитах сервисов см. в документации.
Вопрос: В каких регионах доступен сервис AWS Glue?
Дополнительные сведения о доступности сервиса AWS Glue по регионам см. в таблице регионов AWS.
Вопрос: Сколько блоков обработки данных (DPU) выделяется адресу разработки?
По умолчанию адресу разработки выделяется 5 DPU. Адрес разработки можно настроить на использование от 2 до 5 DPU.
Вопрос. Как масштабируется размер и производительность ETL‑заданий в AWS Glue?
Сервис позволяет задать количество блоков обработки данных (DPU), выделенных под определенное ETL‑задание. Каждому ETL‑заданию Glue необходимо не менее 2 DPU. По умолчанию AWS Glue выделяет 10 DPU для каждого ETL‑задания.
Вопрос. Как можно осуществлять мониторинг исполнения заданий AWS Glue?
AWS Glue выводит состояние по каждому заданию и передает все уведомления в Amazon CloudWatch. Чтобы быть в курсе сбоев и успешного завершения заданий, можно настроить уведомления сервиса SNS на основе действий CloudWatch.
Соглашение об уровне обслуживания
Вопрос. Какие гарантии обеспечивает SLA AWS Glue?
Наше Соглашение об уровне обслуживания (SLA) гарантирует бесперебойную ежемесячную работу AWS Glue на уровне не менее 99,9 %.
Вопрос: Как узнать, могу ли я претендовать на компенсацию по соглашению об уровне обслуживания?
Компенсация по SLA AWS Glue по условиям нашего SLA предоставляется, если бесперебойная ежемесячная работа сервиса в рамках одного региона в нескольких зонах доступности, в которых запущено задание, составила менее 99,9 % в течение любого оплачиваемого месяца.
С условиями и положениями соглашения об уровне обслуживания, а также с подробностями оформления заявки на компенсацию можно ознакомиться на странице сведений о соглашении об уровне обслуживания в отношении AWS Glue.
Получите мгновенный доступ к уровню бесплатного пользования AWS.
Начните разработку с использованием AWS Glue в Консоли управления AWS.