Operator tambahan

Pengantar Apache Airflow dengan Python

Mike Metzger

Data Engineer

PythonOperator

  • Menjalankan fungsi/callable Python
  • Mirip dengan BashOperator, dengan lebih banyak opsi
  • Dapat meneruskan argumen ke kode Python
from airflow.operators.python import PythonOperator

def printme(): print("This goes in the logs!")
python_task = PythonOperator( task_id='simple_print', python_callable=printme )
Pengantar Apache Airflow dengan Python

Argumen

  • Mendukung argumen untuk task
    • Posisional
    • Keyword
  • Gunakan kamus op_kwargs
Pengantar Apache Airflow dengan Python

Contoh op_kwargs

def sleep(length_of_time):
  time.sleep(length_of_time)

sleep_task = PythonOperator( task_id='sleep', python_callable=sleep, op_kwargs={'length_of_time': 5} )
Pengantar Apache Airflow dengan Python

EmailOperator

  • Ada di pustaka airflow.operators
  • Mengirim email
  • Dapat memuat komponen umum
    • Konten HTML
    • Lampiran
  • Memerlukan konfigurasi detail server email di sistem Airflow
Pengantar Apache Airflow dengan Python

Contoh EmailOperator

from airflow.operators.email import EmailOperator

email_task = EmailOperator( task_id='email_sales_report', to='[email protected]', subject='Automated Sales Report', html_content='Attached is the latest sales report', files='latest_sales.xlsx' )
Pengantar Apache Airflow dengan Python

Ayo berlatih!

Pengantar Apache Airflow dengan Python

Preparing Video For Download...