Створюйте свої завдання 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 — це популярна база даних, яка використовується тисячами клієнтів для зберігання даних додатків у масштабі. Корпоративні клієнти можуть централізувати та інтегрувати дані, що надходять із кількох сховищ даних, створюючи озера та сховища даних. Цей процес передбачає вилучення даних із сховищ оперативних даних. Коли дані знаходяться в одному місці, клієнти можуть швидко використовувати їх для потреб бізнес-аналітики або для ML.
  • Введення даних у 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 Atlas.
  2. Завантажте зразок файлу JSON до вашого відра S3.
  3. Створіть нове завдання AWS Glue Studio за допомогою Редактор сценаріїв Spark варіант.

Інтерфейс користувача Glue Studio Job Creation

  1. Залежно від того, чи хочете ви завантажити або витягти дані з кластера MongoDB Atlas, введіть завантажити скрипт or витягти сценарій у редакторі сценаріїв AWS Glue Studio.

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

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

Код використовує Менеджер секретів AWS щоб отримати назву кластера MongoDB Atlas, ім’я користувача та пароль. Потім створюється a 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 Cluster

  1. Щоб усунути несправності, перегляньте Amazon CloudWatch журнали за допомогою посилання на роботу прогін Вкладка.

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

Деталі успішного виконання роботи

Висновок

У цьому дописі ми описали, як видобувати та завантажувати дані в MongoDB Atlas за допомогою AWS Glue.

Завдяки завданням AWS Glue ETL ми тепер можемо передавати дані з MongoDB Atlas у джерела, сумісні з AWS Glue, і навпаки. Ви також можете розширити рішення для створення аналітики за допомогою служб AWS AI та ML.

Щоб дізнатися більше, зверніться до GitHub сховище для отримання покрокових інструкцій і прикладу коду. Ви можете придбати Атлас MongoDB на AWS Marketplace.


Про авторів

Ігор Алексєєв є старшим архітектором партнерських рішень в AWS у сфері даних і аналітики. У своїй ролі Ігор працює зі стратегічними партнерами, допомагаючи їм створювати складні архітектури, оптимізовані для AWS. До приходу в AWS як архітектор даних/рішень він реалізував багато проектів у сфері великих даних, зокрема кілька озер даних в екосистемі Hadoop. Як інженер з даних він брав участь у застосуванні AI/ML для виявлення шахрайства та автоматизації офісу.


Бабу Шрінівасан
є старшим архітектором партнерських рішень у MongoDB. На своїй поточній посаді він працює з AWS над створенням технічної інтеграції та еталонних архітектур для рішень AWS і MongoDB. Він має понад два десятиліття досвіду роботи з базами даних і хмарними технологіями. Він захоплений наданням технічних рішень клієнтам, які працюють із кількома глобальними системними інтеграторами (GSI) у різних регіонах.

Часова мітка:

Більше від Великі дані AWS