【Airflow】MWAA Local ~ 入門編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2021/11/05/233309
https://dk521123.hatenablog.com/entry/2021/11/07/132014

の続き。

AWS MWAAを使うことになり、
開発環境として、MWAA Local (aws-mwaa-local-runner)を
使うことになるとのことなので、すっかり忘れているので
復習と過去の記事でHello worldしてなかったので、やってみる

目次

【1】前提条件
【2】環境構築
【3】Hello world
 1)DAG作成
 2)DAG配置
 3)動作確認

【1】前提条件

* docker / docker compose の環境がある
 => 今回は、VirtualBox(Ubuntu)上で、docker / docker composeを入れた
 => 各インストール方法は、以下の関連記事を参照のこと

VirtualBox のインストール ~ 2023年版 ~
https://dk521123.hatenablog.com/entry/2023/09/29/000000
Docker compose ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2022/04/28/000000

【2】環境構築

* 以下の関連記事を参照。

MWAA Local ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/05/233309
MWAA Local ~ 環境構築編 / Docker compose ~
https://dk521123.hatenablog.com/entry/2021/11/07/132014

【3】Hello world

~~~~~
./mwaa-local-env start
~~~~~
で起動してあること

1)DAG作成

hello_world.py

import airflow
from airflow.decorators import dag, task
from airflow.utils.dates import days_ago

default_args = {
  "owner": "airflow"
}
@dag(
  default_args=default_args,
  schedule_interval="@daily",
  start_date=days_ago(2),
  tags=['example']
)
def main_dag():
  @task
  def get_hello_world():
     return 'hello world'

  @task
  def say_hello(result):
    print(result)

  result = get_hello_world()
  say_hello(result)

main_dag = main_dag()

2)DAG配置

* 作成したDAGファイルを「dags」ディレクトリに置く

フォルダ構成

+ aws-mwaa-local-runner
  + dags <= DAGフォルダ
  + docker <= Docker関連フォルダ
  + plugins <= プラグイン関連フォルダ
  + mwaa-local-env <= Shell

3)動作確認

[1] ブラウザで以下にアクセスする
 => Web UI のログイン画面が表示されるので以下でログインする
 + Username: admin
 + Password: test

http://localhost:8080/

 => 以下の関連記事でも書いたが、ログイン失敗する場合
 パスワードを「test」⇒「"test"」とダブルクォーテーション付きで
 試してみるといいかも、、、

https://dk521123.hatenablog.com/entry/2021/11/05/233309

[2] 問題なければ、「main_dag」が表示されているので
 左に表示されているトグルボタンをONにすると
 勝手にRunされる

参考文献

https://dev.classmethod.jp/articles/introduction-aws-mwaa-local-runner/

関連記事

MWAA Local ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/05/233309
MWAA Local ~ 環境構築編 / Docker compose ~
https://dk521123.hatenablog.com/entry/2021/11/07/132014
MWAA Local ~ AWSに繋げるようにするには ~
https://dk521123.hatenablog.com/entry/2023/10/28/184431
Apache Airflow ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/07/24/233012
Apache Airflow ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2021/07/28/234319
Apache Airflow ~ DAG作成 ~
https://dk521123.hatenablog.com/entry/2023/07/01/000000
VirtualBox のインストール ~ 2023年版 ~
https://dk521123.hatenablog.com/entry/2023/09/29/000000
Docker compose ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2022/04/28/000000