airflow-dag-patterns
Создавайте рабочие Airflow DAG с проверенными паттернами
Airflow DAG могут отказать, если структура и повторные попытки не согласованы. Этот навык предоставляет четкие паттерны для проектирования, сенсоров, тестирования и оповещений, которые улучшают надежность конвейера.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «airflow-dag-patterns». Дайте мне безопасный паттерн для ежедневного ETL DAG с повторными попытками, тестированием и коллбэком сбоя.
Ожидаемый результат:
- Используйте default_args с retries, retry_delay и экспоненциальной задержкой
- Определите линейную структуру start -> extract -> load -> end
- Добавьте коллбэк сбоя задачи для сообщения об ошибках
- Создайте DagBag тесты для ошибок загрузки, количества задач и зависимостей
Использование «airflow-dag-patterns». Как создавать DAG динамически из конфигурации?
Ожидаемый результат:
- Определите список PIPELINE_CONFIGS с полями name, schedule и source
- Создайте фабричную функцию create_dag, принимающую параметр config
- Используйте globals()[f"dag_{name}"] для динамической регистрации каждого DAG
- Примените тот же паттерн для конвейеров клиентов, заказов и продуктов
Использование «airflow-dag-patterns». Покажите, как ждать внешних зависимостей перед запуском задач.
Ожидаемый результат:
- Используйте S3KeySensor для ожидания файлов в S3 корзинах
- Используйте ExternalTaskSensor для ожидания завершения upstream DAG
- Установите mode='reschedule', чтобы освободить воркеры во время ожидания
- Объедините несколько сенсоров с зависимостями перед обработкой
Аудит безопасности
БезопасноPure documentation skill containing only Airflow patterns and example code. No executable scripts, network calls, filesystem access, or environment variable reads. All code in SKILL.md is illustrative documentation for building data pipelines.
Факторы риска
🌐 Доступ к сети (6)
⚡ Содержит скрипты (1)
⚙️ Внешние команды (20)
Оценка качества
Что вы можете построить
Стандартизировать ETL DAG
Создавайте согласованные структуры DAG, повторные попытки и расписания для ежедневных и почасовых конвейеров.
Добавить операционные защитные механизмы
Применяйте сенсоры, оповещения и коллбэки при сбоях для улучшения надежности конвейера.
Тестировать целостность DAG
Пишите модульные тесты, чтобы убедиться, что DAG загружаются, не содержат циклов и учитывают зависимости.
Попробуйте эти промпты
Создайте ежедневный Airflow DAG с задачами start, extract и end, используя PythonOperator и базовые default_args.
Создайте DAG TaskFlow API с задачами extract, transform и load, которые безопасно передают данные между ними.
Покажите паттерн для ожидания данных в S3 и upstream DAG перед обработкой.
Добавьте коллбэки сбоев, повторные попытки и задачи очистки, которые выполняются при сбое для критического DAG.
Лучшие практики
- Сохраняйте задачи идемпотентными и избегайте тяжелой логики в DAG файлах
- Используйте TaskFlow API и режим reschedule сенсоров для эффективности
- Добавляйте модульные тесты для загрузки, структуры и циклов DAG
Избегать
- Использование depends_on_past для большинства задач
- Хардкод дат вместо макросов Airflow
- Хранение изменяемого глобального состояния в DAG файлах
Часто задаваемые вопросы
Совместимо ли это с Airflow 2.x?
Каковы ограничения примеров?
Может ли это интегрироваться с моими существующими DAG?
Доступ к моим данным или их хранение?
Что делать, если мой DAG не импортируется?
Чем это отличается от общей помощи по программированию?
Сведения для разработчиков
Автор
wshobsonЛицензия
MIT
Репозиторий
https://github.com/wshobson/agents/tree/main/plugins/data-engineering/skills/airflow-dag-patternsСсылка
main
Структура файлов
📄 SKILL.md