Airflow görevleri

Python ile Apache Airflow'a Giriş

Mike Metzger

Data Engineer

Görevler

Görevler şunlardır:

  • Operatör örnekleri
  • Genelde Python’da bir değişkene atanır
    example_task = BashOperator(task_id='bash_example',
                              bash_command='echo "Example!"')
    
  • Airflow araçlarında task_id ile anılır
Python ile Apache Airflow'a Giriş

Görev bağımlılıkları

$$

  • Görev tamamlama sırasını belirler
  • Bir iş akışı için zorunlu değildir, ancak genelde bulunur
  • Upstream veya downstream görevler olarak anılır
  • Airflow 1.8+’da bitshift operatörleriyle tanımlanır
    • >>, upstream operatörü
    • <<, downstream operatörü
Python ile Apache Airflow'a Giriş

Upstream vs Downstream

Upstream, önce demektir

Downstream, sonra demektir

Python ile Apache Airflow'a Giriş

Basit görev bağımlılığı

# Define the tasks
task1 = BashOperator(task_id='first_task',
                     bash_command='echo 1'
                    )

task2 = BashOperator(task_id='second_task', bash_command='echo 2' )
# Set first_task to run before second_task task1 >> task2 # or task2 << task1
Python ile Apache Airflow'a Giriş

Airflow arayüzünde görev bağımlılıkları

basit_bağımlılık DAG görünümü

Python ile Apache Airflow'a Giriş

Airflow arayüzünde görev bağımlılıkları

basit_bağımlılık DAG görünümü, görev işaretleme

Python ile Apache Airflow'a Giriş

Airflow arayüzünde görev bağımlılıkları

bitshift ile basit_bağımlılık DAG

Python ile Apache Airflow'a Giriş

Birden çok bağımlılık

Zincirli bağımlılıklar:

task1 >> task2 >> task3 >> task4

Karışık bağımlılıklar:

task1 >> task2 << task3

veya:

task1 >> task2
task3 >> task2

zincirli_bağımlılıklar

karışık_bağımlılıklar

Python ile Apache Airflow'a Giriş

Hadi pratik yapalım!

Python ile Apache Airflow'a Giriş

Preparing Video For Download...