Airflowはデータパイプラインをプログラムによって作成、スケジュールおよびモニターするためのプラットフォームです。
Airflowを使用して、ワークフローをタスクのDirected非循環グラフ(DAG)として作成します。Airflowスケジューラは、指定された依存関係に従って、多数のワーカーでタスクを実行します。豊富なコマンドラインユーティリティにより、DAGsで複雑な処理を実行できます。豊富なユーザーインターフェイスを使用して、運用環境で実行中のパイプラインを視覚化し、必要に応じて進捗状況を監視し、問題を解決できます。
原則
- 動的: Airflowパイプラインはコード(Python)として構成されており、パイプラインの動的生成が可能です。パイプラインを動的にインスタンス化するためのコードを記述できます。
- 拡張可能: 自前の演算子、executorを簡単に定義し、ライブラリを拡張して、環境に合った抽象化レベルに適合させることができます。
- エレガント: Airflowパイプラインは無駄が少なく、明示的です。スクリプトの引数化は、強力なJinjaテンプレートエンジンを使用したAirflowのコアに組み込まれています。
- スケーラブル: Airflowはモジュール式のアーキテクチャを採用し、メッセージキューを使用して、任意の数のワーカーとのオーケストレーションを行います。Airflowは無限にスケーリング可能です。