Dallanma

Python ile Apache Airflow’a Giriş

Mike Metzger

Data Engineer

Dallanma

  • Koşullu mantık sağlar (ör. if -> then görevler için)
  • @task.branch kullanılır

DNT_CURLY_TAG_2

  • Sonraki görev kimliğini (veya kimlik listesini) döndürmek için bir Python fonksiyonu çalıştırır
Python ile Apache Airflow’a Giriş

Dallanma örneği

@task.branch
def branch_task(logical_date):
  if int(logical_date.month) % 3 == 0:
    # Aylar 3 - Mart, 6 - Haziran, 9 - Eylül, 12 - Aralık
    return 'end_of_quarter_task'
  else:
    # Diğer tüm aylar
    return 'regular_monthly_task'
Python ile Apache Airflow’a Giriş

Dallanma örneği

@task.branch
def branch_task(logical_date):
  if int(logical_date.month) % 3 == 0:
    # Aylar 3 - Mart, 6 - Haziran, 9 - Eylül, 12 - Aralık
    return 'end_of_quarter_task'
  else:
    # Diğer tüm aylar
    return 'regular_monthly_task'

start_task >> branch_task >> end_of_quarter_task >> end_of_quarter_task2
branch_task >> regular_monthly_task >> regular_monthly_task2
Python ile Apache Airflow’a Giriş

Dallanma grafik görünümü

İki aşağı akış görev yolu olan dallanan bir DAG'in Airflow grafik görünümü

Python ile Apache Airflow’a Giriş

Dallanma Çeyrek sonu ayları

Çeyrek sonu görevlerinin çalışıp aylık görevlerin atlandığı Airflow grafik görünümü

Python ile Apache Airflow’a Giriş

Dallanma Düzenli aylar

Aylık görevlerin çalışıp çeyrek sonu görevlerinin atlandığı Airflow grafik görünümü

Python ile Apache Airflow’a Giriş

Tarih değişkenleri

  • ds - Tireli mantıksal tarih YYYY-MM-DD
  • ds_nodash - Tiresiz mantıksal tarih YYYYMMDD
  • prev_data_interval_start_success - Son başarılı DAG çalışmasının tarihi
  • Diğerleri için - Airflow değişkenleri belgelerine bakınız
1 https://airflow.apache.org/docs/apache-airflow/stable/templates-ref.html#templates-variables
Python ile Apache Airflow’a Giriş

Hadi pratik yapalım!

Python ile Apache Airflow’a Giriş

Preparing Video For Download...