Extra operators

Introductie tot Apache Airflow in Python

Mike Metzger

Data Engineer

PythonOperator

  • Voert een Python-functie/callable uit
  • Werkt vergelijkbaar met de BashOperator, met meer opties
  • Kan argumenten aan de Python-code doorgeven
from airflow.operators.python import PythonOperator

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

Argumenten

  • Ondersteunt argumenten voor taken
    • Positioneel
    • Keyword
  • Gebruik de op_kwargs-dictionary
Introductie tot Apache Airflow in Python

op_kwargs-voorbeeld

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} )
Introductie tot Apache Airflow in Python

EmailOperator

  • Te vinden in de airflow.operators-bibliotheek
  • Verstuurd een e-mail
  • Kan gangbare onderdelen bevatten
    • HTML-inhoud
    • Bijlagen
  • Vereist dat Airflow is geconfigureerd met e-mailserverdetails
Introductie tot Apache Airflow in Python

Voorbeeld van 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' )
Introductie tot Apache Airflow in Python

Laten we oefenen!

Introductie tot Apache Airflow in Python

Preparing Video For Download...