Сине-зеленое развертывание ETL-процессов с группами задач Apache AirFlow

В этой статье для обучения дата-инженеров рассмотрим, как крупнейший медиа-банк Storyblocks добился обновления данных в корпоративном хранилище без простоев с помощью DevOps-идеи сине-зеленого развертывания и механизма TaskGroup в Apache Airflow. Проблемы ETL при массовой загрузке данных в Data Lake и DWH Storyblocks – это крупнейший в мире банк данных, включающий...

3 способа совместного использования DAG-файлов в Apache AirFlow на Kubernetes

В этой статье для обучения дата-инженеров и администраторов кластера разберем способы организации совместного использования DAG-файлов при развертывании Apache AirFlow в Kubernetes. Чем хорош вариант с общими томами и почему от него лучше отказаться в пользу Git. Как организовать обмен DAG-файлами в Apache AirFlow на Kubernetes Развертывание Apache AirFlow в кластере...

Чем Apache Airflow лучше cron и как на него перейти

Зачем переходить с cron на AirFlow и как это сделать наиболее эффективно: практические тонкости планирования и оркестрации пакетных процессов для дата-инженера с примерами и лайфхаками. Что такое cron и почему его недостаточно для инженерии данных Дата-инженеры часто работают с утилитой cron (Command Run ON), чтобы автоматически запускать на выполнение скрипты...

Ускорение загрузки и парсинга DAG-файлов в Apache AirFlow на Kubernetes

Специально для обучения дата-инженеров и администраторов кластера тонкостям работы с современными инструментальными средствами оркестрации конвейеров обработки данных, сегодня рассмотрим, почему в Apache AirFlow уходит много времени на парсинг большого количества DAG-файлов и как этого избежать. Потери времени при парсинге множества DAG-файлов в Apache AirFlow Apache AirFlow часто используется в проектах...

Битва ETL-инструментов: AWS Step Functions vs. Apache Airflow

В этой статье для обучения дата-инженеров сравним популярный ETL-оркестратор Apache AirFlow с облачным бессерверным сервисом от AWS под названием Step Functions. Оба этих решения представляют собой workflow-сервисы, которые позволяют автоматизировать бизнес-процессы и упростить процедуры дата-инженерии. Читайте далее, что между ними общего и чем они отличаются, а также какой из них...

Программный запуск DAG Apache AirFlow через REST API

Сегодня в рамках обучения дата-инженеров рассмотрим, как программно запустить DAG в Apache AirFlow через вызовы REST API. А также повторим основы интеграционного взаимодействия ИС через отправку HTTP-запросов к конечным точкам.  Как устроен REST API в Apache AirFlow Напомним, начиная с выпуска 2 Apache Airflow включает стабильный RESTfull API версии 1.0.0...

Интеграционное тестирование DAG в Apache AirFlow

Продолжая тему тестирования DAG в Apache Airflow, сегодня рассмотрим следующий этап проверки качества ПО – разработку интеграционных тестов. Разберемся, как при этом дата-инженер может использовать Docker Compose и Pytest, а также познакомимся с возможностями REST API самого популярного в Big Data batch-оркестратора. Идеи и инструменты интеграционного тестирования DAG в Apache...

Модульное тестирование условной логики DAG в Apache AirFlow

Мы уже писали про важность модульного тестирования DAG Apache Airflow, а также лучшие практики и инструменты реализации этого процесса. Как протестировать структуру DAG со сложной условной логикой, сделав тест детерминированным с помощью простой сортировки идентификаторов задач, а также каким образом дата-инженеру помогут шаблоны Jinja. Проверка структуры DAG в AirFlow С...

Как построить логически сложный ETL-конвейер: ветвления DAG в Apache AirFlow

Сегодня в рамках обучения дата-инженеров разберем, как организовать логическое ветвление рабочего процесса в Apache AirFlow с помощью операторов. Какие операторы позволяют организовать условную логику в DAG, чем BranchPythonOperator отличается от ShortCircuitOperator, как запустить задачу в зависимости от времени и/или дня недели, а также результата выполнения SQL-запроса. Условная логика в DAG:...

SIGTERM в Apache Airflow: 4 причины сбоя задач и способы их исправления

Каждый дата-инженер, который работает с Apache Airflow, сталкивался с сигналом SIGTERM, который отправляется задачам и приводит к сбою DAG. Сегодня рассмотрим, почему случается исключение airflow.exceptions.AirflowException, которое генерирует этот сигнал, и как его избежать. Тайм-аут выполнения DAG Одна из причин, по которой задача получает сигнал SIGTERM, связана с небольшим значением параметра...

Поиск по сайту