Передавання даних за допомогою XCom
Ви оновлюєте ETL‑робочий процес, щоб використовувати XCom і зручніше відстежувати інформацію. Тому вам потрібно оновити залежності між завданнями у вашому Dag.
У вас уже визначено чотири завдання, які використовуються так:
extract()— повертаєorder_datatransform(order_data)— повертає підсумовані даніload(summary_data)— не повертає інформації XComsend_report()— завдання без XCom, що відповідає за сповіщення
Ця вправа є частиною курсу
Вступ до Apache Airflow на Python
Інструкції до вправи
- Вставте завдання
transformміжextract()іload(), щоб завершити ланцюжок. - Присвойте результат змінній
etl_result. - Налаштуйте
send_reportна запуск після змінноїetl_result.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
@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()