Aan de slagGa gratis aan de slag

Gegevens doorgeven met XCom

Je bent een ETL-workflow aan het updaten om een XCom te gebruiken, zodat je informatie makkelijker kunt bijhouden. Daarom moet je de afhankelijkheden tussen de taken in je Dag aanpassen.

Je hebt al vier taken gedefinieerd die je als volgt kunt gebruiken:

  • extract() - Retourneert order_data
  • transform(order_data) - Retourneert samengevatte gegevens
  • load(summary_data) - Retourneert geen XCom-informatie
  • send_report() - Een niet-XCom-taak die notificaties afhandelt

Deze oefening maakt deel uit van de cursus

Introductie tot Apache Airflow in Python

Cursus bekijken

Oefeninstructies

  • Voeg de taak transform in tussen extract() en load() om de keten compleet te maken.
  • Ken het resultaat toe aan een variabele met de naam etl_result.
  • Laat send_report draaien nadat de variabele etl_result is uitgevoerd.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

@dag(start_date=datetime(2026,4,1))
def etl_example():
    # Chain extract, transform, and load, assigning the result
    ____ = load(____(extract()))
    # Run send_report after the ETL tasks
    etl_result ____ ____()
    
etl_example()
Code bewerken en uitvoeren