Определение BashOperator с помощью @task.bash
Bash-задача позволяет указать любую команду или скрипт оболочки и добавить её в рабочий процесс Airflow. Это отличная отправная точка для внедрения Airflow в вашу среду.
До сих пор вы вручную запускали скрипты для очистки данных (с помощью скрипта cleanup.sh) перед передачей результатов коллегам из группы анализа данных. По мере того как таких задач становилось всё больше, вы поняли, что вручную за всем уследить непросто — а уж справляться с ошибками и повторными запусками тем более. Пришло время реализовать простой скрипт в виде оператора Airflow.
Объекты dag и task для Airflow уже импортированы.
Это упражнение является частью курса
Введение в Apache Airflow на Python
Инструкции к упражнению
- Используйте декоратор
@task.bashдля определения задачи. - Назовите метод
cleanup_task. - Сделайте так, чтобы задача возвращала
cleanup.sh.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
@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()