62 lines
1.6 KiB
Markdown
62 lines
1.6 KiB
Markdown
# job-manager-by-airflow
|
||
|
||
Apach airflow
|
||
|
||
* apache/airflow:3.1.2
|
||
* https://github.com/apache/airflow
|
||
|
||

|
||
|
||
## 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ファイルを置けば自動で読み込みます。 |