Настройка планировщика Apache AirFlow

Как устроен планировщик заданий Apache AirFlow, от чего зависит его производительность и какие конфигурации помогут ее улучшить: настройки, приемы, рекомендуемые значения и лучшие практики. Как работает планировщик Apache AirFlow Apache AirFlow как фреймворк оркестрации пакетных процессов включает несколько компонентов. Одним из них является планировщик (scheduler), который отслеживает все задачи и...

ETL по расписанию: 4 способа планирования запусков DAG в Apache AirFlow

Чем планирование запуска DAG в Apache AirFlow с объектом timedelta отличается от использования cron-выражений, в чем разница CronTriggerTimetable и CronDataIntervalTimetable, а также как создать собственный класс расписания. Объект timedelta vs cron-выражение: задание расписания запуска DAG в Apache AirFlow Apache AirFlow идеально подходит для классических пакетных ETL-сценариев, например, когда надо извлечь...

Сериализация в Apache AirFlow

Как Apache AirFlow сериализует и десериализует данные, зачем с версии 2 включена обязательная сериализация DAG в JSON, почему для пользовательской сериализации рекомендуются словари или примитивы и что поможет сократить нагрузку на базу данных метаданных через настройку параметров сериализации в конфигурационном файле фреймворка. Сериализация данных в Apache AirFlow Чтобы сохранить данные...

Apache AirFlow 2.10: что нового?

24 августа вышел новый релиз Apache AirFlow. Знакомимся с новинками версии 2.10: гибкая настройка исполнителей для всей среды, конкретного DAG и отдельных задач, а также динамическое планирование набора данных и улучшения GUI. Гибкая настройка исполнителей Одной из самых главных новинок Apache AirFlow 2.10 стала конфигурация гибридного исполнения, позволяющая использовать несколько...

Как движок выполнения влияет на транзакционность операций с FlowFile в Apache NiFi

Зачем в Stateless-движке настраивать порт отказа, почему этот механизм в Apache NiFi подходит для надежных и транзакционных источников, но не для всех протоколов передачи данных, а также чем классический режим выполнения эффективнее в эксплуатации. Транзакционность операций с FlowFile в Apache NiFi О том, что Apache NiFi поддерживает два механизма выполнения:...

Отправка уведомлений в Apache AirFlow

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

Процессоры-слушатели в Apache NiFi

Какие процессоры Apache NiFi позволяют принимать и обрабатывать данные из различных источников по разным протоколам, и как избежать сбоев при их использовании с удержанием открытых соединений и порты. Listen-процессоры Apache NiFi В Apache NiFi есть целый набор процессов-слушателей, которые принимают и обрабатывают входящие данные из различных источников по разным протоколам....

YAML вместо Python: LowCode-разработка DAG в Apache AirFlow с DAG Factory

Как написать DAG в Apache AirFlow без программирования, определив его конфигурацию в YAML-файле, и автоматически получить пакетный конвейер обработки данных с помощью Python-библиотеки DAG Factory. Демократизация разработки ETL-конвейеров или что такое DAG Factory в Apache AirFlow Хотя Apache AirFlow и так считается довольно простым фреймворком для оркестрации пакетных процессов и...

Потоковая агрегация и передача данных из Kafka в Redis через SQL-запросы в RisingWave

Как SQL-запросами соединить потоки из разных топиков Apache Kafka и отправить результаты в Redis: демонстрация ETL-конвейера на материализованных представлениях в RisingWave. Постановка задачи и проектирование потоковой системы Продолжая недавний пример потоковой агрегации данных из разных топиков Kafka с помощью SQL-запросов, сегодня расширим потоковый конвейер в RisingWave, добавив приемник данных –...

Как написать свой отсроченный оператор Apache AirFlow

Почему триггеры отсроченных операторов Apache AirFlow не могут быть блокирующими и как сделать их асинхронными с помощью Python-библиотеки asyncio. Создание своего отсроченного оператора в Apache AirFlow О том, что такое отсроченные операторы, как они связаны с триггерами и асинхронными Python-вызовами в Apache AirFlow, мы недавно говорили здесь. Помимо использования существующих...

Асинхронные Python-вызовы и отсроченные операторы в Apache AirFlow

Что общего между триггерами, отсроченными операторами и асинхронными Python-вызовами в Apache AirFlow, чем они отличаются от стандартных операторов и сенсоров, для чего их использовать и как это сделать. Асинхронные вызовы и отсроченные операторы в Apache AirFlow В синхронном коде задачи выполняются последовательно, одна за другой. Причем каждая задача должна завершиться...

Apache NiFi 2.0.0-M4: июльские новинки мажорного релиза

1 июля 2024 г. опубликован очередной выпуск Apache NiFi 2.0.0. Знакомимся с его наиболее интересными добавлениями и улучшениями: критические изменения, обновленная интеграция с Kafka и новые процессоры для работы с файлами разных форматов. Обновленная интеграция с Kafka и другие новинки Apache NiFi 2.0.0-M4 Выпуск мажорного релиза не всегда происходит одним...

Успешный старт нового курса для дата-инженеров на Yandex Managed Service for Apache Airflow™

26-28 июня мы провели первый пилот нашей новой образовательной программы для дата-инженеров по Yandex Managed Service for Apache Airflow™, разработанной в сотрудничестве со специалистами компании Яндекс. Наши слушатели провели 3 активных дня, изучая теорию про самый популярный пакетный оркестратор и сразу же применяя ее на практике. За 24 часа каждый...

OpenID, Flask-AppBuilder и CVE-2024-25128 в Apache AirFlow

Чем уязвимость устаревшего метода аутентификации OpenID в Flask-AppBuilder опасна для Apache AirFlow и как это исправить? Обзор уязвимости CVE-2024-25128. Уязвимости OpenID для FAB в Apache AirFlow В конце февраля 2024 выяснилось, что в прошлом релизе Apache AirFlow 2.8, вышедшем 14 декабря прошлого года, обнаружилась критическая уязвимость, набравшая более 9 баллов...

Пулы и приоритеты задач в Apache AirFlow

Как изменить приоритет задачи в очереди исполнителя Apache AirFlow, на что влияет метод определения весов, каким образом можно балансировать нагрузку с помощью пулов и зачем настраивать количество слотов. Как приоритизировать задачи в очереди Apache AirFlow Дата-инженеры, которые используют Apache AirFlow для оркестрации пакетных процессов, знают, что задачи скапливаются в очереди...

Мониторинг NiFi-приложения внешними средствами через задачи отчетности

Что такое задачи отчетности, зачем они нужны и как с их помощью отслеживать события и системные метрики экземпляра NiFi-приложения, а также JVM. Обзор Reporting Tasks в Apache NiFi 2.0. Задачи отчетности в Apache NiFi Чтобы отслеживать события и метрики работающего экземпляра приложения Apache NiFi, этот фреймворк предоставляет специализированные инструменты, которые...

Контекст в Apache AirFlow

Для чего нужен контекст задачи Apache AirFlow, что он собой представляет, какие включает объекты, как получить к ним доступ и чем они полезны дата-инженеру. Что такое контекст задачи Apache AirFlow В разработке ПО контекстом называется среда, в которой существует объект. Это понятие очень важно при использовании специализированных фреймворков. Например, в...

5 типовых ошибок в Apache AirFlow и как их исправить: советы дата-инженеру

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

TaskFlow API и традиционные операторы Apache AirFlow: совместное использование

Чем API TaskFlow отличается от традиционных операторов Apache Airflow, можно ли их использовать вместе и как это сделать для более эффективной передачи данных между задачами DAG с помощью механизма XCom: несколько примеров. Что такое API TaskFlow в Apache Airflow Чтобы реализовать конвейер обработки данных в Apache AirFlow, можно использовать традиционные...

Apache AirFlow 2.9: обзор свежего релиза

8 апреля 2024 года вышел очередной релиз Apache AirFlow. Знакомимся с ключевыми новинками выпуска 2.9: от функций работы с наборами данных до настроек внешнего объектного хранилища в качестве бэкенда XCom-объектов и особенностей поддержки Python 3.12. Наборы данных и гибкое планирование DAG Airflow Выпуск 2.9 содержит более 35 интересных новых функций,...

Изменение базового тарифа с 1 января 2026 года Подробнее