Airbnb 社が開発し、今は Apache ソフトウェア財団のトッププロジェクトとなっている Apache Airflow。 今回は業務の中でワークフロー製品を扱っていることもあり、OSS の Airflow の感触を確かめるべく触ってみた。
準備
Airflow の公式ページでインストール方法が 2 つ記されている。
- ローカル PC での起動
- Docker での起動
Docker が用意されているので、Docker で実行する。公式が用意してくれているのはとても助かる!
mkdir workspace/sandbox-airflow
として今回のお試しディレクトリを作成し、そこにdocker-compose.yaml
をダウンロードした。
2021/07/18 現在用意されていたものを貼っておく。最新版は公式のページから確認を!
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.1.2/docker-compose.yaml'
起動
docker-compose up
でコンテナは 7 つ起動する。
- airflow-init
- Airflow を初期化するためのコンテナ
- airflow-scheduler
- airflow-webserver
- Web サーバーのコンテナ
- http://localhost:8080 でアクセスができる
- airflow-worker
- スケジューラーによって指定されたタスクを実行するワーカーのコンテナ
- flower
- 環境を監視するための GUI アプリケーション flower のコンテナ
- http://localhost:5555 でアクセスができる
- postgres
- redis
自分は Mac で実行したが、Airflow を実行している間はファンが大きく回ったのでマシンスペックは必要かもしれない。
- MacBook Air (Retina, 13-inch, 2018)
- 1.6 GHz デュアルコア Intel Core i5
- 16 GB 2133 MHz LPDDR3
サンプルアプリ
http://localhost:8080 にアクセスすると、ログイン画面が表示される。
このチュートリアル用 Docker ではユーザ名パスワードともに airflow なので、こちらを入力する。
- ユーザ名
- airflow
- パスワード
- airflow
ログインが完了すると、ワークフローが並んでいる画面になる。
一番上にある「example_bash_operator」をクリックすると、詳細の画面に移って確認することができる。 これはすでに実行済みの画面なので、初回アクセスとは情報に差分があるかもしれない。
グラフの形で実行順序を確認もできる。
カレンダーの形で実行日を記録もされている。 GitHubの草の用な感じで表示されるので馴染み深い部分がある。
この画面は設定の詳細の画面になる。
Filepath
の部分に/home/airflow/.local/lib/python3.6/site-packages/airflow/example_dags/example_bash_operator.py
がある。
ここに、このサンプルワークフローの設定が入っている。
これは自分がなかなか見つけられなかったものなので、参考になれば嬉しい。