Apache Airflow入門

Python で学ぶ Apache Airflow 入門

Mike Metzger

Data Engineer

ワークフローとは?

  • ワークフロー - データエンジニアリング処理を実現する一連のステップ

 

  • 例:ファイルのダウンロード、データのコピー、情報のフィルタリング、データベースへの書き込み

ファイルのダウンロードからデータベースへの書き込みまでの順次的なデータエンジニアリングステップのワークフロー図

Python で学ぶ Apache Airflow 入門

Airflowとは?

Airflow - ワークフローをオーケストレーションするプラットフォーム:

  • 作成
  • スケジュール
  • 監視

 

Apache Airflowのロゴ

   

ワークフローの作成・スケジュール・監視を表すアイコン

Python で学ぶ Apache Airflow 入門

Airflowとは?

  • 任意の言語でプログラムを実装できるが、ワークフローはPythonで記述
  • ワークフローをDagとして実装
  • Webインターフェース、コード、コマンドライン、REST API経由でアクセス可能
  • ETLパイプライン、MLワークフロー、自動化などに使用

 

Apache Airflowのロゴ

Python で学ぶ Apache Airflow 入門

Dagの概要

Dag - ワークフローの実行に必要なすべてを表すモデル。

  • タスクとその依存関係で構成
  • 名前、メール、オーナーなどの詳細情報を含めて作成

依存関係の矢印で結ばれたタスクのDag例

Python で学ぶ Apache Airflow 入門

Airflowのコンポーネント

  • スケジューラー - スケジュールされたワークフローをトリガーし、タスクを送信
  • APIサーバー - Airflowプラットフォームへの安全なアクセスを提供
  • Dagプロセッサー - スケジューラーが実行するタスクと時刻を把握するために読み取る
  • メタデータデータベース - DagとタスクのステータスをDagとタスクの状態を保存

Airflowコンポーネントの図:スケジューラー、APIサーバー、Dagプロセッサー、メタデータデータベース

Python で学ぶ Apache Airflow 入門

Airflow UIでワークフローを実行する

2つのDagと操作オプションが表示されたAirflow DagsビューのUI

Python で学ぶ Apache Airflow 入門

Airflow UIでワークフローを実行する

トリガーの再生ボタンが強調表示されたAirflow DagsビューのUI

Python で学ぶ Apache Airflow 入門

Airflow UIでワークフローを実行する

デフォルトの実行オプションとTriggerボタンが表示されたAirflow Dagトリガーポップアップ

Python で学ぶ Apache Airflow 入門

Airflow UIでワークフローを実行する

最新の実行が緑のチェックマークで成功と表示されたAirflow DagsビューのUI

Python で学ぶ Apache Airflow 入門

Airflow UIでワークフローを実行する

generate_random_numberなどの個々のタスク詳細が一覧表示されたAirflow Dagタスクビュー

Python で学ぶ Apache Airflow 入門

練習しましょう!

Python で学ぶ Apache Airflow 入門

Preparing Video For Download...