開始使用免費開始

使用 @task.bash 定義 BashOperator

Bash 工作可讓你指定任意的 shell 指令或腳本,並將其加入 Airflow 工作流程。這通常是把 Airflow 導入你環境的好起點。

因此,你一直在交付資料給資料分析團隊同事之前,手動執行一些清理資料的腳本(使用名為 cleanup.sh 的腳本)。隨著被指派的這類工作越來越多,你發現要手動執行所有事情已經很難跟上,更別說處理錯誤或重試。你想把這個簡單腳本實作成一個 Airflow operator。

Airflow 的 dag 與 task 物件都已經匯入。

本練習屬於課程

Python 中的 Apache Airflow 入門

檢視課程

練習說明

  • 使用 @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()
編輯並執行程式碼