(自身の備忘録用です)
※OSはmac
airflow本家のページのQuickSrartを実施
standaloneコマンドでUI立ち上げる場合
$ export AIRFLOW_HOME=[任意のディレクトリ]
→confや、のちに出てくるコマンドで出てくるパスワードを出力されるファイルなどが配置されます
$ AIRFLOW_VERSION=2.2.4
$ PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
→airflowのバージョン指定と、インストール済のpythonバージョン抽出して指定します(この時はpython3.8)
$ CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
$ pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"
→インストール
$ airflow standalone
→ユーザー(admin)とランダム生成のパスワードが作成されます
※パスワード忘れちゃった場合
→最初に指定したAIRFLOW_HOMEにstandalone_admin_password.txtがあるのでそこに更新されています。
→UI(localhost:8080)にてログイン後、DAGがグラフィカルに閲覧可能になります
→UIからDagのon/offでの切り替えで実行が可能です。
ユーザー名やパスワード、メールアドレスの指定を実施して行う場合は以下
airflow usersコマンドで実施できます
$ airflow db init
$ airflow users create \
--username [任意の値] \
--firstname [任意の値] \
--lastname [任意の値] \
--role Admin \
--password [任意の値] \
--email [任意の値]
$ airflow webserver --port 8080
$ airflow scheduler # 別窓で実行
→roleは[Admin, Public, Viewer, User, Op]の中から選択
→UI(localhost:8080)にて作成したユーザーでログイン後、DAGがグラフィカルに閲覧可能になります
→UIからDagのon/offでの切り替えで実行が可能です
■初期設定されているDAGのコードの場所
$ pip show apache-airflow
→Locationを確認
$ ls [Location]/airflow/example_dags/
→exampleに配置されているので、中のコードを見たり、編集してみたりしてairflowの記載方法が学べます