地方在住IT系ニート

bkds

Airflow 3のメモ

はじめに

airflow_2で導入したApache Airflowでメジャーアップデートがありました。 下記のような機能が追加されたようです。

  • ReactベースのモダンなUI
  • DAGのバージョン管理
  • バックフィルの改善

また、Airflow 2で非推奨となっていた一部の機能が削除されているため、移行時にはDAGの更新が必要になる場合があります。

インストール

今回はDockerを利用してAirflowを動作させます。 公式が手順を公開しているのでこちらを参考にします。

# ディレクトリの作成
mkdir airflow
cd airflow

# docker-compose.yamlのダウンロード
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/3.0.1/docker-compose.yaml'

# Airflowで利用するディレクトリ等の作成
mkdir -p ./dags ./logs ./plugins ./config
echo -e "AIRFLOW_UID=$(id -u)" > .env

# airflow.cfgの初期化
docker compose run airflow-cli airflow config list

# DBの初期化
docker compose up airflow-init

# Airflowの起動
docker compose up

Airflowにアクセス

Airflowはhttp://localhost:8080で提供されています。 認証が必要ですが、初期設定は下記のとおりです。

  • Username: airflow
  • Password: airflow

Executorの変更

手順通りにインストールした場合、AirflowのExcecutorはCeleryExecutorになっていると思います。 Celeryは分散タスクキューシステムを利用して、タスクを複数のワーカーに非同期で並列に実行させることができます。 スケーラブルで高性能なため、大量のタスクがある環境では有用ですが個人利用の場合システムリソースも多く利用するため、より軽量なものに変更したいと思います。

今回は、LocalExecutorを利用します。 LocalExecutorはタスクをローカルマシン上するものです。 docker-compose.yamlAIRFLOW__CORE__EXECUTORLocalExecutorを指定すると変更できます。

他にも不要な設定が残っているので、下記の項目を削除します。

  • AIRFLOW__CELERY__RESULT_BACKEND
  • AIRFLOW__CELERY__BROKER_URL
  • depends_onのredis部分
  • Service
    • redis
    • airflow-worker
    • flower

設定変更が完了したら、下記のコマンドで再度起動します。

docker compose down
docker compose up -d --build
<-- Back to home
にほんブログ村 IT技術ブログ IT技術メモへPVアクセスランキング にほんブログ村