airflow-dag-patterns – skill Dữ liệu & Khoa học cho agent AI
Xây dựng DAG Apache Airflow sẵn sàng production với các thực hành tốt nhất về operator, sensor, kiểm thử và triển khai. Dùng khi tạo data pipeline, điều phối workflow hoặc lập lịch batch job.
Cài skill airflow-dag-patterns bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/airflow-dag-patterns-019a3.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /airflow-dag-patterns – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/airflow-dag-patterns-019a3.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $airflow-dag-patterns – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/airflow-dag-patterns-019a3.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /airflow-dag-patterns – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/airflow-dag-patterns-019a3.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /airflow-dag-patterns – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Apache Airflow DAG Patterns
Production-ready patterns for Apache Airflow including DAG design, operators, sensors, testing, and deployment strategies.
When to Use This Skill
- Creating data pipeline orchestration with Airflow
- Designing DAG structures and dependencies
- Implementing custom operators and sensors
- Testing Airflow DAGs locally
- Setting up Airflow in production
- Debugging failed DAG runs
Core Concepts
1. DAG Design Principles
| Principle | Description |
| --------------- | ----------------------------------- |
| Idempotent | Running twice produces same result |
| Atomic | Tasks succeed or fail completely |
| Incremental | Process only new/changed data |
| Observable | Logs, metrics, alerts at every step |
2. Task Dependencies
# Linear
task1 >> task2 >> task3
# Fan-out
task1 >> [task2, task3, task4]
# Fan-in
[task1, task2, task3] >> task4
# Complex
task1 >> task2 >> task4
task1 >> task3 >> task4Quick Start
# dags/example_dag.py
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python import PythonOperator
from airflow.operators.empty import EmptyOperator
default_args = {
'owner': 'data-team',
'depends_on_past': False,
'email_on_failure': True,
'email_on_retry': False,
'retries': 3,
'retry_delay': timedelta(minutes=5),
'retry_exponential_backoff': True,
'max_retry_delay': timedelta(hours=1),
}
with DAG(
dag_id='example_etl',
default_args=default_args,
description='Example ETL pipeline',
schedule='0 6 * * *', # Daily at 6 AM
start_date=datetime(2024, 1, 1),
catchup=False,
tags=['etl', 'example'],
max_active_runs=1,
) as dag:
start = EmptyOperator(task_id='start')
def extract_data(**context):
execution_date = context['ds']
# Extract logic here
return {'records': 1000}
extract = PythonOperator(
task_id='extract',
python_callable=extract_data,
)
end = EmptyOperator(task_id='end')
start >> extract >> endDetailed patterns and worked examples
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
Best Practices
Do's
- Use TaskFlow API - Cleaner code, automatic XCom
- Set timeouts - Prevent zombie tasks
- Use
mode='reschedule'- For sensors, free up workers - Test DAGs - Unit tests and integration tests
- Idempotent tasks - Safe to retry
Don'ts
- Don't use
depends_on_past=True- Creates bottlenecks - Don't hardcode dates - Use
{{ ds }}macros - Don't use global state - Tasks should be stateless
- Don't skip catchup blindly - Understand implications
- Don't put heavy logic in DAG file - Import from modules
Skill liên quan
- anndata – Xử lý các ma trận chú thích trong phân tích tế bào đơn, các file .h5ad và Zarr, và tích…
- arbor – Áp dụng Tinh chỉnh Cây Giả thuyết Arbor cho các sản phẩm nghiên cứu có bộ đánh giá lặp…
- arboreto – Suy luận mạng lưới điều hòa gen ứng viên từ dữ liệu biểu hiện gen bulk hoặc single-cell…
- accounting-software-selection – Chấm điểm các phần mềm kế toán trong danh sách rút gọn theo 57 trường có bằng chứng…
- admin-access-register – Sổ đăng ký tài khoản quản trị: admin hệ thống, admin chính và dự phòng, số ghế, gói dịch…
- autoskill – Phân tích các khoảng lịch sử Screenpipe do người dùng yêu cầu để phát hiện quy trình…
- discernment-nudge – Sau khi bạn đưa ra câu trả lời hoặc bản nháp có thực chất mà người dùng có thể hành động…
- bgpt-paper-search – Tìm kiếm bài báo khoa học BGPT theo chủ đề hoặc DOI và lấy bằng chứng ở cấp luận điểm…