НачатьНачать бесплатно

Передача данных с помощью XCom

Вы обновляете ETL-процесс, чтобы использовать XCom для более удобного отслеживания данных. Для этого нужно обновить зависимости между задачами в вашем DAG.

У вас уже определены четыре задачи, которые работают следующим образом:

  • extract() — возвращает order_data
  • transform(order_data) — возвращает обобщённые данные
  • load(summary_data) — не возвращает данные через XCom
  • send_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()
Редактировать и запускать код