DAG-uri Airflow

Introducere în Apache Airflow în Python

Mike Metzger

Data Engineer

Ce este un DAG?

DAG, sau Graf Aciclic Dirigat:

  • Dirigat - fluxul dintre componente reprezintă dependențe
  • Aciclic - nu se repetă și nu formează bucle
  • Graf - mulțimea componentelor

Graf aciclic dirigat cu noduri conectate prin săgeți unidirecționale și fără bucle

Introducere în Apache Airflow în Python

DAG în Airflow

  • Scris în Python (poate folosi componente din alte limbaje)
  • Compus din Task-uri de executat, precum operatori sau senzori
  • Conține dependențe definite explicit sau implicit
    • ex: Copiați fișierul pe server înainte de a-l importa în baza de date.

  DAG Airflow cu task-uri conectate, indicând ordinea dependențelor

Introducere în Apache Airflow în Python

Definirea unui DAG

Exemplu de DAG (Taskflow API):

from airflow.sdk import dag

from pendulum import datetime @dag( dag_id='etl_workflow', email='[email protected]', start_date=datetime(2026, 3, 15, tz="UTC") )
def etl_workflow(): ...
etl_workflow()
Introducere în Apache Airflow în Python

DAG-uri în linia de comandă

 

  • Comanda airflow conține mai multe subcomezi
  • airflow -h - ajutor și descrierea subcomenilor

 

  • Subcomezi pentru DAG-uri

    • airflow dags list - afișează toate DAG-urile recunoscute
    • airflow dags reserialize - forțează Airflow să reîncarce fișierele DAG
    • airflow tasks test - rulează un task specific
Introducere în Apache Airflow în Python

Linia de comandă vs. Python

Utilizați instrumentul din linia de comandă pentru:

  • Pornirea proceselor Airflow
  • Rularea manuală a DAG-urilor / Task-urilor
  • Obținerea informațiilor de logging din Airflow

Terminal rulând instrumentul de linie de comandă Airflow

Utilizați Python pentru:

  • Crearea unui DAG
  • Editarea proprietăților individuale ale unui DAG

Ilustrație reprezentând cod Python

Introducere în Apache Airflow în Python

Să exersăm!

Introducere în Apache Airflow în Python

Preparing Video For Download...