Operator Airflow

Pengantar Apache Airflow dengan Python

Mike Metzger

Data Engineer

Operator

  • Mewakili satu tugas dalam workflow.
  • Berjalan mandiri (biasanya).
  • Umumnya tidak berbagi informasi.
  • Beragam operator untuk tugas berbeda.
# Cara baru, Airflow 2.x+
EmptyOperator(task_id='example')

# Cara lama, Airflow <2.0
EmptyOperator(task_id='example', dag=dag_name)
Pengantar Apache Airflow dengan Python

BashOperator

BashOperator(
    task_id='bash_example',
    bash_command='echo "Example!"',
    # Baris berikut hanya untuk Airflow sebelum versi 2
    dag=dag
)
BashOperator(
    task_id='bash_script_example',
    bash_command='runcleanup.sh',
)
  • Menjalankan perintah atau skrip Bash.
  • Menjalankan perintah di direktori sementara.
  • Dapat menetapkan variabel lingkungan untuk perintah.
Pengantar Apache Airflow dengan Python

Contoh BashOperator

from airflow.operators.bash import BashOperator

example_task = BashOperator(task_id='bash_ex', bash_command='echo 1', )
bash_task = BashOperator(task_id='clean_addresses',
  bash_command='cat addresses.txt | awk "NF==10" > cleaned.txt',
)
Pengantar Apache Airflow dengan Python

Hal yang perlu diwaspadai pada operator

  • Tidak dijamin berjalan di lokasi/lingkungan yang sama.
  • Mungkin perlu banyak variabel lingkungan.
  • Sulit menjalankan tugas dengan hak istimewa tinggi.
Pengantar Apache Airflow dengan Python

Ayo berlatih!

Pengantar Apache Airflow dengan Python

Preparing Video For Download...