出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/01/12 08:10 UTC 版)
|
Apache Airflow logo の公式ロゴマーク。
|
|
| 作者 | Maxime Beauchemin / Airbnb |
|---|---|
| 開発元 | Apache Software Foundation |
| 初版 | 2015年6月3日 |
| 最終版 | |
| 最新評価版 | |
| リポジトリ | |
| プログラミング 言語 |
Python |
| 対応OS | Windows、macOS、Linux |
| サイズ | 分かりません。 |
| 対応言語 | Python |
| サポート状況 | サポート中です。(開発中) |
| 種別 | ワークフロー管理プラットフォーム、スケジューラ、無料且つ自由のオープンソースソフトウェア |
| ライセンス | Apache-2.0、Apache License |
| 公式サイト | airflow |
Apache Airflowは、データエンジニアリングパイプライン用のオープンソースのワークフロー管理プラットフォームである。2014年10月[2]にAirbnbで開発が始まり、ますます複雑化する社内のワークフローを管理するためのソリューションとして作られた。Airflowを開発したことで、Airbnbはワークフローをプログラムで作成・スケジュールし、組み込みのAirflowユーザーインターフェイス経由でワークフローを監視できるようになった[3][4]。プロジェクトは当初からオープンソースとして公開され、2016年3月にはApache Incubatorプロジェクトになり、2019年1月にはトップレベルのApache Software Foundationプロジェクトになった。
AirflowはPythonで書かれており、ワークフローはPythonスクリプト経由で作成される。Airflowは「configuration as code」の原則に基づいて設計されている。XMLなどのマークアップ言語を使用する「configuration as code」に基づいたワークフロープラットフォームは他にも存在するが、Pythonを使用することにより、開発者がライブラリとクラスをインポートして、ワークフローを容易に作成できるようになっている。
Airflowは、ワークフローのオーケストレーションを管理するために、有向非巡回グラフ(DAG)を使用している。タスクとその依存関係はPythonで定義され、Airflowはそのスケジューリングと実行を管理する。DAGは、定義されたスケジュール(例:1時間毎、1日毎)や外部イベントのトリガー(例:Hive上でのファイルの作成[5])により実行できる。従来のOozieやAzkabanなどのDAGベースのスケジューラは、複数の構成ファイルやファイルシステムツリーに依存する傾向があったが、Airflowでは、通常1つのPythonファイルとしてDAGを記述できる[6]。
コアのオープンソースプロジェクトに関する補助サービスの提供者としては、3つのプロバイダーがよく知られている。Astronomerは、AirflowのSaaSツールと、Kubernetesにデプロイ可能な、モニタリング・アラート・DevOps・クラスター管理を支援するAirflowスタックを提供している[7]。Google Cloud Platform(GCP)は、プラットフォーム上で実行されるAirflowのマネージドバージョンとして、Cloud Composerを提供しており、他のGCPサービスとよく統合されている[8]。Amazon Web Servicesは、2020年11月からApache Airflowのマネージドワークフローを提供している[9]。