Tugas Airflow

Pengantar Apache Airflow dengan Python

Mike Metzger

Data Engineer

Tugas

Task adalah:

  • Instans operator
  • Biasanya disimpan ke variabel di Python
    example_task = BashOperator(task_id='bash_example',
                              bash_command='echo "Example!"')
    
  • Dirujuk dengan task_id di alat Airflow
Pengantar Apache Airflow dengan Python

Dependensi tugas

$$

  • Menetapkan urutan penyelesaian tugas
  • Tidak wajib untuk setiap alur kerja, tetapi umumnya ada
  • Disebut sebagai tugas upstream atau downstream
  • Di Airflow 1.8+, didefinisikan dengan operator bitshift
    • >>, operator upstream
    • <<, operator downstream
Pengantar Apache Airflow dengan Python

Upstream vs Downstream

Upstream berarti sebelum

Downstream berarti sesudah

Pengantar Apache Airflow dengan Python

Dependensi tugas sederhana

# Definisikan tugas
task1 = BashOperator(task_id='first_task',
                     bash_command='echo 1'
                    )

task2 = BashOperator(task_id='second_task', bash_command='echo 2' )
# Jalankan first_task sebelum second_task task1 >> task2 # atau task2 << task1
Pengantar Apache Airflow dengan Python

Dependensi tugas di Airflow UI

tampilan DAG tanpa dependensi

Pengantar Apache Airflow dengan Python

Dependensi tugas di Airflow UI

tampilan DAG tanpa dependensi, penanda tugas

Pengantar Apache Airflow dengan Python

Dependensi tugas di Airflow UI

DAG dengan dependensi sederhana

Pengantar Apache Airflow dengan Python

Banyak dependensi

Dependensi berantai:

task1 >> task2 >> task3 >> task4

Dependensi campuran:

task1 >> task2 << task3

atau:

task1 >> task2
task3 >> task2

dependensi berantai

dependensi campuran

Pengantar Apache Airflow dengan Python

Ayo berlatih!

Pengantar Apache Airflow dengan Python

Preparing Video For Download...