Định nghĩa BashOperator với @task.bash
Một tác vụ Bash cho phép bạn chỉ định bất kỳ lệnh hoặc script shell nào và thêm nó vào quy trình làm việc của Airflow. Đây có thể là điểm khởi đầu tuyệt vời để đưa Airflow vào môi trường của bạn.
Bạn đã chạy thủ công một số script để làm sạch dữ liệu (dùng script cleanup.sh) trước khi gửi cho đồng nghiệp trong nhóm Phân tích dữ liệu. Khi được giao ngày càng nhiều tác vụ, bạn nhận ra việc tự chạy mọi thứ trở nên khó theo kịp, chưa kể xử lý lỗi hay thử lại. Bạn muốn triển khai một script đơn giản dưới dạng một operator của Airflow.
Các đối tượng dag và task của Airflow đã được import sẵn.
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
- Dùng decorator
@task.bashđể định nghĩa tác vụ. - Dùng tên phương thức
cleanup_task. - Để tác vụ trả về
cleanup.sh.
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(
dag_id='analytics_dag',
start_date=datetime(2026,1,1)
)
def analytics_dag():
# Specify a Bash task
@____
def ____():
return '____'
# Run the task
cleanup_task()
analytics_dag()