作者 | |
---|---|
開発元 | Apache Software Foundation |
初版 | 2016年6月15日 |
リポジトリ | Beam Repository |
プログラミング 言語 | Java, Python, Go |
対応OS | クロスプラットフォーム |
ライセンス | Apache License 2.0 |
公式サイト |
beam |
Apache Beamは、ETL、バッチおよびストリーム処理を含むデータ処理パイプラインを定義・実行するためのオープンソースの統合プログラミングモデルである[1]。提供されているSDKの1つを使用してBeam Pipelinesと呼ばれるデータ処理パイプラインを定義し、Apache Flink、Apache Samza、Apache Spark、Google Cloud DataflowなどのBeamがサポートするRunner(分散処理バックエンド)の1つを使用してパイプラインを実行する[2]。
Apache Beam[2]は、Dataflowモデルの論文の実装の1つである[3]。Dataflowモデルは、Googleでの分散処理の抽象化、特にFlumeJava[4]とMillwheelに関する過去の成果に基づいて設計されている[5][6]。
2014年、Googleは、DataflowモデルのオープンSDK実装と、Dataflowをローカル(非分散)およびGoogle Cloud Platformサービス上で実行する環境をリリースした。
2016年、GoogleはコアSDK、ローカルランナーの実装、およびGoogle Cloud Platformのデータサービスにアクセスするための一連のIO(データコネクタ)をApache SoftwareFoundationに寄贈した。他の企業やコミュニティのメンバーは、既存の分散実行プラットフォームのRunnerや、Beam Runnerを既存のデータベース、Key-Valueストア、メッセージシステムと統合するための新しいIOをコントリビュートしている。さらに、Beamモデルに加えて特定のドメインのニーズをサポートするための新しいDSLが提案されている[要出典]。