このプロジェクトについて
Apache Beamは、有界(バッチ)データと無界(ストリーミング)データの両方を処理できるデータ処理パイプラインを構築するための統一モデルを提供します。パイプラインの定義を実行環境から切り離すことで、開発者は一度ロジックを記述すれば、さまざまな分散処理バックエンドで実行することが可能です。
Beamモデルの主要なコンポーネントは以下の通りです:
- PCollection:任意のサイズのデータセットを表します。
- PTransform:入力データを出力データに変換する計算を表します。
- Pipeline:変換とコレクションの有向非巡回グラフ(DAG)を管理します。
- PipelineRunner:実行環境を決定します。
BeamはJava、Python、GoのSDKを提供しています。また、実行のために以下を含む複数のランナーをサポートしています:
- DirectRunnerおよびPrismRunner(ローカル実行)
- Google Cloud Dataflow
- Apache Flink
- Apache Spark
- Hazelcast Jet
- Twister2