Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MLOps初心者がApache Airflowを触る / Apache Airflow Introduction for an MLOps Beginner

MLOps初心者がApache Airflowを触る / Apache Airflow Introduction for an MLOps Beginner

Henry Cui

May 27, 2023
Tweet

More Decks by Henry Cui

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. 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

    View Slide

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

    View Slide

  6. 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

    View Slide