2025-11-13 23:16:25 +09:00

62 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# job-manager-by-airflow
Apach airflow
* apache/airflow:3.1.2
* https://github.com/apache/airflow
![APP](./docs/images/app01.png)
## Apach airflowとは
データ処理やバッチ処理(ETL/ELT)などのワークフローを
管理・自動化するためのもっとも有名なプラットフォームです。
* **できること・強み**
* Airflow は 本番の大規模ETLで強い
* ワークフローをコード(Python)で記述できる(DAG)
* スケジューラで定期実行できる
* 失敗時のリトライ・アラートが強い
* Web UIが強力
* プラグインが豊富で拡張性が高い
* **前提・制限**
*Airflowは「DAGどこまで実行した」などの状態をデータベースで管理する仕組み です。そのため DBなしでは動きません。
## Develop
### Dockerで構築する
```sh
docker compose up -d
```
デフォユーザーは airflow / airflow
Airflow は公式的には Linux / macOS 前提で作られていて、
systemd とか unix系コマンド前提の部分がけっこうあります。Windowsならばwslで実行してください
#### 公式のDocker composeファイルを取得する方法
```sh
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml'
```
### 仮想環境
```sh
python -m venv venv
# Linux
source venv/bin/activate
# # Windows
# venv\Scripts\activate
pip install -r requirements.txt
```
## How To Use
チュートリアル
https://airflow.apache.org/docs/apache-airflow/stable/tutorial/fundamentals.html
Airflowは、`dags/`フォルダ内に.pyファイルを置けば自動で読み込みます。