Introduction to Apache Airflow in Python
Mike Metzger
Data Engineer
@dag(
dag_id="Example_Dag"
)
def example_dag():
@task
def task1():
return "The result from task1"
task1()
example_dag()
from airflow.sdk import task@task def printme(): print("This goes in the logs!")printme()
@task def printme(name: str): print(f"Hi {name} - This goes in the logs!")printme(name='DataCamp')# Adds: # Hi DataCamp - This goes in the logs! # to the Airflow logs
@task.bash
def bash_example():
return "echo 'Example!'"
bash_example()
@task.bash
def run_cleanup():
return "runcleanup.sh"
run_cleanup()

>> and <<
task1() >> task2()# task1 completes before task2 startstask1() >> task2() >> task3()# task1 completes before task2 and task2 completes before task3task1() >> task3() task2() >> task3()# task1 and task2 can run together but both must complete before task3 runs
# Download sales data before reconciling
download_sales_data() >> reconcile()
# Download inventory data before reconciling
download_inventory_data() >> reconcile()
Introduction to Apache Airflow in Python