Truyền dữ liệu với XCom
Bạn đang cập nhật một quy trình ETL để dùng XCom nhằm theo dõi thông tin dễ dàng hơn. Vì vậy, bạn cần cập nhật các quan hệ phụ thuộc giữa các tác vụ trong Dag.
Bạn đã có sẵn bốn tác vụ có thể dùng như sau:
extract()- Trả vềorder_datatransform(order_data)- Trả về dữ liệu đã tổng hợpload(summary_data)- Không trả về thông tin XComsend_report()- Một tác vụ không dùng XCom, xử lý việc gửi thông báo
Bài tập này là một phần của khóa học
Giới thiệu về Apache Airflow bằng Python
Hướng dẫn bài tập
- Chèn tác vụ
transformvào giữaextract()vàload()để hoàn thiện chuỗi. - Gán kết quả vào một biến tên là
etl_result. - Thiết lập
send_reportchạy sau biếnetl_result.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
@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()