Przekazywanie danych za pomocą XCom
Aktualizujesz przepływ ETL, aby korzystał z XCom – dzięki temu łatwiej będzie śledzić przepływ informacji. W związku z tym musisz zaktualizować zależności między zadaniami w swoim DAG-u.
Masz już zdefiniowane cztery zadania, które działają następująco:
extract()– zwracaorder_datatransform(order_data)– zwraca przetworzone daneload(summary_data)– nie zwraca informacji XComsend_report()– zadanie niezwiązane z XCom, obsługujące powiadomienia
To ćwiczenie jest częścią kursu
Wprowadzenie do Apache Airflow w Pythonie
Instrukcje do ćwiczenia
- Wstaw zadanie
transformmiędzyextract()aload(), aby uzupełnić łańcuch. - Przypisz wynik do zmiennej o nazwie
etl_result. - Ustaw zadanie
send_reporttak, aby uruchamiało się po zmiennejetl_result.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
@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()