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()- Retourneertorder_datatransform(order_data)- Retourneert samengevatte gegevensload(summary_data)- Retourneert geen XCom-informatiesend_report()- Een niet-XCom-taak die notificaties afhandelt
Deze oefening maakt deel uit van de cursus
Introductie tot Apache Airflow in Python
Oefeninstructies
- Voeg de taak
transformin tussenextract()enload()om de keten compleet te maken. - Ken het resultaat toe aan een variabele met de naam
etl_result. - Laat
send_reportdraaien nadat de variabeleetl_resultis 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()