Перейти к содержимому

Оркестрация строго последовательных 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