Apache Airflow
作者 | Maxime Beauchemin / Airbnb |
---|---|
開発元 | Apache Software Foundation |
初版 | 2015年6月3日 |
リポジトリ | |
プログラミング 言語 | Python |
対応OS | Windows、macOS、Linux |
対応言語 | Python |
種別 | ワークフロー管理プラットフォーム |
ライセンス | Apache License 2.0 |
公式サイト |
airflow |
Apache Airflowは、データエンジニアリングパイプライン用のオープンソースのワークフロー管理プラットフォームである。2014年10月[1]にAirbnbで開発が始まり、ますます複雑化する社内のワークフローを管理するためのソリューションとして作られた。Airflowを開発したことで、Airbnbはワークフローをプログラムで作成・スケジュールし、組み込みのAirflowユーザーインターフェイス経由でワークフローを監視できるようになった[2][3]。プロジェクトは当初からオープンソースとして公開され、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上でのファイルの作成[4])により実行できる。従来のOozieやAzkabanなどのDAGベースのスケジューラは、複数の構成ファイルやファイルシステムツリーに依存する傾向があったが、Airflowでは、通常1つのPythonファイルとしてDAGを記述できる[5]。
マネージドサービス
[編集]コアのオープンソースプロジェクトに関する補助サービスの提供者としては、3つのプロバイダーがよく知られている。Astronomerは、AirflowのSaaSツールと、Kubernetesにデプロイ可能な、モニタリング・アラート・DevOps・クラスター管理を支援するAirflowスタックを提供している[6]。Google Cloud Platform(GCP)は、プラットフォーム上で実行されるAirflowのマネージドバージョンとして、Cloud Composerを提供しており、他のGCPサービスとよく統合されている[7]。Amazon Web Servicesは、2020年11月からApache Airflowのマネージドワークフローを提供している[8]。
出典
[編集]- ^ “Apache Airflow”. Apache Airflow. August 12, 2019時点のオリジナルよりアーカイブ。September 30, 2019閲覧。
- ^ Beauchemin (June 2, 2015). “Airflow: a workflow management platform”. Medium. August 13, 2019時点のオリジナルよりアーカイブ。September 30, 2019閲覧。
- ^ “Airflow”. July 6, 2019時点のオリジナルよりアーカイブ。September 30, 2019閲覧。
- ^ Trencseni, Marton (January 16, 2016). “Airflow review”. BytePawn. February 28, 2019時点のオリジナルよりアーカイブ。October 1, 2019閲覧。
- ^ “AirflowProposal”. Apache Software Foundation (March 28, 2019). October 1, 2019閲覧。
- ^ Lipp, Cassie (July 13, 2018). “Astronomer is Now the Apache Airflow Company”. americaninno. September 18, 2019閲覧。
- ^ “Google launches Cloud Composer, a new workflow automation tool for developers” (英語). TechCrunch. 2019年9月18日閲覧。
- ^ “Introducing Amazon Managed Workflows for Apache Airflow (MWAA)” (英語). Amazon Web Services (2020年11月24日). 2020年12月17日閲覧。