始める無料で始める

@task.bash を使った BashOperator の定義

Bash タスクを使うと、任意のシェルコマンドやスクリプトを指定して、Airflow のワークフローに追加できます。既存の環境に Airflow を導入する際の、最初の一歩として最適です。

これまで、データアナリティクスチームへの納品前に、cleanup.sh というスクリプトを使ってデータのクリーニングを手動で行ってきました。しかし、担当タスクが増えるにつれて、すべてを手動で実行し続けることが難しくなり、エラーや再試行への対応にも手が回らなくなってきました。そこで、このスクリプトを Airflow のオペレーターとして実装したいと思います。

Airflow の DAG オブジェクトとタスクオブジェクトはすでにインポートされています。

この演習はコースの一部です

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()
コードを編集して実行