Создавайте задания ETL для MongoDB Atlas с помощью AWS Glue

Создавайте задания ETL для MongoDB Atlas с помощью AWS Glue

Исходный узел: 2634433

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

В то же время оперативные данные часто поступают из приложений, поддерживаемых устаревшими хранилищами данных. Модернизация приложений требует микросервисной архитектуры, которая, в свою очередь, требует консолидации данных из нескольких источников для создания оперативного хранилища данных. Без модернизации устаревшие приложения могут повлечь за собой увеличение затрат на обслуживание. Модернизация приложений предполагает замену базового ядра базы данных на современную базу данных на основе документов, такую ​​​​как MongoDB.

Эти две задачи (создание озер или хранилищ данных и модернизация приложений) включают перемещение данных, которое использует процесс извлечения, преобразования и загрузки (ETL). Задание ETL — это ключевая функция для хорошо структурированного процесса, обеспечивающего успех.

Клей AWS — это бессерверная служба интеграции данных, которая упрощает обнаружение, подготовку, перемещение и интеграцию данных из нескольких источников для аналитики, машинного обучения (ML) и разработки приложений. Атлас MongoDB — это интегрированный набор облачных баз данных и сервисов данных, который сочетает в себе транзакционную обработку, поиск по релевантности, аналитику в реальном времени и синхронизацию данных между мобильными устройствами и облаком в элегантной интегрированной архитектуре.

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

В этом посте мы покажем, как перенести данные из Простой сервис хранения Amazon (Amazon S3) выполняет сегментацию в MongoDB Atlas с помощью AWS Glue ETL и способы извлечения данных из MongoDB Atlas в озеро данных на базе Amazon S3.

Обзор решения

В этой статье мы рассмотрим следующие варианты использования:

  • Извлечение данных из MongoDB – MongoDB – популярная база данных, используемая тысячами клиентов для хранения данных приложений в большом масштабе. Корпоративные клиенты могут централизовать и интегрировать данные, поступающие из нескольких хранилищ данных, путем создания озер и хранилищ данных. Этот процесс включает в себя извлечение данных из хранилищ операционных данных. Когда данные находятся в одном месте, клиенты могут быстро использовать их для нужд бизнес-аналитики или машинного обучения.
  • Загрузка данных в MongoDB – MongoDB также служит базой данных без SQL для хранения данных приложений и создания хранилищ операционных данных. Модернизация приложений часто предполагает миграцию оперативного хранилища в MongoDB. Клиентам потребуется извлекать существующие данные из реляционных баз данных или из плоских файлов. Мобильные и веб-приложения часто требуют, чтобы инженеры данных создавали конвейеры данных для создания единого представления данных в Atlas, одновременно получая данные из нескольких разрозненных источников. Во время этой миграции им нужно будет объединить разные базы данных для создания документов. Для этой сложной операции соединения потребуется значительная единовременная вычислительная мощность. Разработчикам также необходимо будет быстро создать это для переноса данных.

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

На следующей диаграмме показан рабочий процесс извлечения данных из MongoDB Atlas в корзину S3 с помощью AWS Glue Studio.

Извлечение данных из MongoDB Atlas в Amazon S3

Для реализации этой архитектуры вам понадобится кластер MongoDB Atlas, корзина S3 и Управление идентификацией и доступом AWS (IAM) роль для AWS Glue. Чтобы настроить эти ресурсы, выполните необходимые шаги в следующих разделах. Репо GitHub.

На следующем рисунке показан рабочий процесс загрузки данных из корзины S3 в MongoDB Atlas с использованием AWS Glue.

Загрузка данных из Amazon S3 в MongoDB Atlas

Здесь необходимы те же предварительные условия: корзина S3, роль IAM и кластер MongoDB Atlas.

Загрузка данных из Amazon S3 в MongoDB Atlas с помощью AWS Glue

Следующие шаги описывают, как загрузить данные из корзины S3 в MongoDB Atlas с помощью задания AWS Glue. Процесс извлечения из MongoDB Atlas в Amazon S3 очень похож, за исключением используемого скрипта. Назовем различия между этими двумя процессами.

  1. Создать бесплатный кластер в Атласе MongoDB.
  2. Загрузить пример файла JSON в корзину S3.
  3. Создайте новое задание AWS Glue Studio с помощью Редактор скриптов Spark опцию.

Пользовательский интерфейс создания заданий Glue Studio

  1. В зависимости от того, хотите ли вы загрузить или извлечь данные из кластера MongoDB Atlas, введите загрузить скрипт or извлечь скрипт в редакторе сценариев AWS Glue Studio.

На следующем снимке экрана показан фрагмент кода для загрузки данных в кластер MongoDB Atlas.

Фрагмент кода для загрузки данных в MongoDB Atlas

Код использует Менеджер секретов AWS чтобы получить имя кластера MongoDB Atlas, имя пользователя и пароль. Затем он создает DynamicFrame для корзины S3 и имени файла, передаваемого сценарию в качестве параметров. Код извлекает имена базы данных и коллекций из конфигурации параметров задания. Наконец, код записывает DynamicFrame в кластер MongoDB Atlas, используя полученные параметры.

  1. Создайте роль IAM с разрешениями, как показано на следующем снимке экрана.

Подробнее см. Настройте роль IAM для вашего задания ETL..

Разрешения ролей IAM

  1. Дайте заданию имя и укажите роль IAM, созданную на предыдущем шаге. Детали работы меню.
  2. Остальные параметры вы можете оставить по умолчанию, как показано на следующих скриншотах.
    Сведения о заданииПодробности о вакансии продолжение
  3. Затем определите параметры задания, которые использует сценарий, и укажите значения по умолчанию.
    Входные параметры задания
  4. Сохраните задание и запустите его.
  5. Чтобы подтвердить успешный запуск, просмотрите содержимое коллекции базы данных MongoDB Atlas при загрузке данных или корзины S3, если вы выполняли извлечение.

На следующем снимке экрана показаны результаты успешной загрузки данных из корзины Amazon S3 в кластер MongoDB Atlas. Данные теперь доступны для запросов в пользовательском интерфейсе MongoDB Atlas.
Данные загружены в кластер MongoDB Atlas

  1. Чтобы устранить неполадки при запуске, просмотрите Amazon CloudWatch журналы, используя ссылку на задание Run меню.

На следующем снимке экрана показано, что задание выполнено успешно, с дополнительными сведениями, такими как ссылки на журналы CloudWatch.

Сведения об успешном выполнении задания

Заключение

В этом посте мы описали, как извлекать и загружать данные в MongoDB Atlas с помощью AWS Glue.

С помощью ETL-заданий AWS Glue мы теперь можем переносить данные из MongoDB Atlas в источники, совместимые с AWS Glue, и наоборот. Вы также можете расширить решение для создания аналитики с помощью сервисов AWS AI и ML.

Чтобы узнать больше, обратитесь к Репозиторий GitHub пошаговые инструкции и пример кода. Вы можете приобрести Атлас MongoDB на торговой площадке AWS.


Об авторах

Игорь Алексеев является старшим архитектором партнерских решений в AWS в области данных и аналитики. В своей роли Игорь работает со стратегическими партнерами, помогая им создавать сложные архитектуры, оптимизированные для AWS. До прихода в AWS в качестве архитектора данных/решений он реализовал множество проектов в области больших данных, в том числе несколько озер данных в экосистеме Hadoop. В качестве инженера по обработке данных он занимался применением ИИ/МО для обнаружения мошенничества и автоматизации делопроизводства.


Бабу Сринивасан
является старшим архитектором партнерских решений в MongoDB. В своей текущей роли он работает с AWS над созданием технических интеграций и эталонных архитектур для решений AWS и MongoDB. Он имеет более чем двадцатилетний опыт работы с базами данных и облачными технологиями. Он увлечен предоставлением технических решений клиентам, работающим с несколькими глобальными системными интеграторами (GSI) в разных регионах.

Отметка времени:

Больше от AWS Большие данные