Построение пакетного потока данных с помощью Athena и MySQL

Построение пакетного потока данных с использованием Athena и MySQL

Полное руководство для начинающих

Фото от Redd F на Unsplash

В этой истории я расскажу о самом популярном способе выполнения задач по преобразованию данных – пакетной обработке данных. Этот шаблон разработки конвейера данных становится невероятно полезным, когда нам необходимо обрабатывать данные порциями, что делает его очень эффективным для задач ETL, требующих планирования. Я покажу, как это можно достичь, создав конвейер преобразования данных, используя MySQL и Athena. Мы будем использовать инфраструктуру в виде кода для развертывания его в облаке.

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

Как инженер данных, вам необходимо создать интеллектуальную панель мониторинга бизнеса, на которой отображается география доходов компании, как показано ниже. Сырые данные о платежах хранятся в базе данных сервера (MySQL). Вы хотите создать пакетный конвейер, который ежедневно будет извлекать данные из этой базы данных, а затем использовать AWS S3 для хранения файлов данных и Athena для их обработки.

Интеллектуальная панель мониторинга доходов. Изображение автора.

Пакетный конвейер данных

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

Конвейер данных существует тогда, когда происходит обработка данных между точками A и B.

Конвейеры данных могут быть различными по своей концептуальной и логической природе. Ранее я писал об этом здесь [1]:

Шаблоны проектирования конвейеров данных

Выбор правильной архитектуры с примерами

towardsdatascience.com