Оркестрация строго последовательных ETL-конвейеров в Synechron
Astronomer
0:00 / 0:00
Оркестрация строго последовательных ETL-конвейеров в Synechron
300 просмотров · 3 недели назад
Astronomer
8,38 тыс. подписчиков
300 просмотров · 3 недели назад
Строгое последовательное выполнение в DAG-графах звучит просто, пока у вас не появятся запланированные и управляемые событиями конвейеры, записывающие данные в одни и те же коллекции MongoDB. [Ивана Исаилович](linkedin.com/in/ivana-isailovic), старший инженер по большим данным в [Synechron](synechron.com), присоединяется к Марку Ламберти, чтобы рассказать о трехслойной архитектуре DAG, которую ее команда разработала именно для решения этой проблемы, а также о том, как они генерируют DAG-графы на 200 задач и как они перестроили групповые повторные попытки в стиле подграфов в Airflow 3.
Основные выводы:
(00:00) Введение.
(02:16) Стек: Snowflake в качестве источника, MongoDB с иерархической структурой (бронза, серебро, золото), Spark для обработки, Airflow для оркестрации, Elasticsearch для отчетов.
(05:29) Почему стандартные параметры Airflow (максимальное количество активных запусков, пулы, настройка зависимостей) решали лишь часть проблемы. (06:40) Согласованность данных на уровнях «бронза», «серебро» и «золото» — вот что заставило выполнять строгое последовательное выполнение.
(09:11) Запланированные DAG-графы против DAG-графов, управляемых событиями и запускаемых в любой момент со стороны приложения.
(10:04) Трехслойная архитектура: DAG-графы-триггеры, единый прокси-DAG, управляющий очередью, и основные ETL DAG-графы.
(12:00) Очередь — это буквально еще один DAG-граф. Прокси-DAG-граф допускает только один активный запуск и сериализует все, что находится за ним.
(15:13) DAG-графы из 200 задач, сгенерированные из вложенных групп задач и конфигурационных файлов YAML, с версиями DAG, привязанными к номерам релизов.
(17:38) Как слои взаимодействуют друг с другом: датчики и TriggerDagRunOperator.
(19:44) Миграция с подгрупп DAG на группы задач без потери возможности повторной попытки для всей группы.
(21:49) Подход Airflow 2.9: сброс состояния экземпляра задачи через базу метаданных, основанный на идентификаторе группы задач.
(23:13) Подход Airflow 3: перенос логики повторных попыток на официальный REST API для обеспечения стабильности, безопасности и удобства сопровождения.
Упомянутые ресурсы:
[Orchestrate Everything](https://astronomer.link/data-flowcast-oe)
[Apache Airflow](airflow.apache.org)
[Snowflake](snowflake.com)
[MongoDB](mongodb.com)
[Apache Spark](spark.apache.org)
[Elasticsearch](elastic.co/elasticsearch)
Спасибо за прослушивание "The Data Flowcast: Mastering Apache Airflow® for Data Engineering and AI". Если вам понравился этот эпизод, пожалуйста, оставьте 5-звездочный отзыв, чтобы помочь распространить информацию о шоу. И обязательно подпишитесь, чтобы не пропустить ни одной из интересных бесед.
#ai #automation #airflow