Передача данных с помощью 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()