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

Определение 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()
Редактировать и запускать код