Slide 1

Slide 1 text

MLOps初心者がApache Airflowを触る 機械学習の社会実装勉強会第23回 Henry 2023/5/27

Slide 2

Slide 2 text

内容 ■ Apache Airflowについて ■ Dockerを利用した起動方法 ■ Taskflow API 2

Slide 3

Slide 3 text

Apache Airflowについて ■ タスクの自動実行をやってくれるライブラリ ● Crontabのような自動実行 ● タスク間の依存関係 ● Pythonのライブラリ ● ログ・可視化が完備 ● 競合の中に一番 Github Star数が多い(弊者調べ) ● その分大きなコミュニティに使われている ■ 向かないケースもある ● ストリーミングデータに向いてない ● 可視化あるがコード書きたくない人に向いてない 3

Slide 4

Slide 4 text

Dockerを利用した起動方法 ■ docker-compose.ymlを入手 ● 自分は https://airflow.apache.org/docs/apache-airflow/2.6.1/docker-compose.yaml ● Dockerfileが不要なのはymlファイルの中で公開コンテナを使う ■ docker compose up airflow-init で初期化 ■ docker compose up で諸々のコンポーネントを起動 4

Slide 5

Slide 5 text

Apache Airflow の諸々の概念 ■ 全体のアーキテクチャ ■ 初心者が扱う概念 ● DAG:有向非巡回グラフ ■ 一つのまとまりのジョブ、タスク間の依存関係が定義される ● タスク:実行したいジョブの最小単位、DAGの要素 5

Slide 6

Slide 6 text

Taskflow API ■ 今までより扱いやすくなったDAG定義の書き方 ■ 詳しくは画面共有しながら説明する ● https://airflow.apache.org/docs/apache-airflow/stable/tutorial/taskfl ow.html も参照 ● Task decoratorのパラメータは https://github.com/apache/airflow/blob/2.4.0/airflow/decorators/ba se.py#L546-L557 参照 ■ カスタムDAGファイルも認識できる ● 今のところairflowサーバーの再起動が必要 6