Apache の投稿を調べていて、Beam という新しい用語を見つけました。Apache Beam とは何かを説明できる人はいますか? 私はグーグルアウトを試みましたが、明確な答えを得ることができませんでした.
2 に答える
Apache Beamは、バッチおよびストリーミング データ並列処理パイプラインの両方を定義および実行するためのオープン ソースの統合モデルであり、パイプラインを構築するための言語固有の SDK のセットと、それらを実行するためのランタイム固有のランナーです。
歴史: Beam の背後にあるモデルは、 MapReduce、FlumeJava、Millwheelなど、多数の内部 Google データ処理プロジェクトから発展しました。このモデルはもともと「<a href="http://www.vldb.org/pvldb/vol8/p1792-Akidau.pdf" rel="noreferrer">Dataflow モデル」として知られ、Google Cloud Dataflowとして最初に実装されました- -パイプラインを作成するためのGitHub の Java SDKと、Google Cloud Platform でそれらを実行するためのフルマネージド サービスを含みます。コミュニティの他のメンバーは、 Spark Runner、Flink Runner、Scala SDKなどの拡張機能を書き始めました。. 2016 年 1 月、Google と多くのパートナーは、Apache Beam (統合バッチ + strEAM 処理) という名前で、Dataflow プログラミング モデルと SDK の部分を Apache Incubator Proposalとして提出しました。Apache Beamは 2016 年 12 月にインキュベーションを卒業しました。
ビーム モデルを学習するための追加リソース:
- Apache ビームのWeb サイト
- VLDB 2015 ペーパー(元の命名Dataflow モデルを使用)
- O'Reilly's Radar サイトのストリーミング 101とストリーミング 102の投稿
- Software Engineering Radioの Beamポッドキャスト
Apache Beam (Batch + strEAM) は、バッチ データ処理とストリーミング データ処理の両方を行うためのモデルと API のセットです。これは、2016 年に Apache インキュベータ プロジェクトを通じて Google (Cloudera と PayPal を使用) によってオープンソース化されました。
Dataflow/Beam & Spark: A Programming Model Comparison - Cloud Dataflowのページでは、Beam API をApache Sparkと対比しています。Apache Sparkは、最新で柔軟な API と一連の最適化手法をバッチとストリーミングの両方に Hadoop の世界にもたらし、超えて。
Beam は、プログラミング モデルの比較で説明されているように、バッチ処理とストリーミング処理を組み合わせるときにしばしば問題となるアウトオブオーダー処理のさまざまな側面を簡単に記述できるようにするモデルを介して、すべてをさらに一歩進めようとします。
特に、比較から引用すると、Dataflow モデルは、エレガントに、よりモジュール化され、堅牢で、保守が容易な方法で対処するように設計されています。
... パイプラインを構築する際に、すべてのデータ処理担当者が答えなければならない 4 つの重要な質問:
- どのような結果が計算されますか? 合計、結合、ヒストグラム、機械学習モデル?
- イベント時間のどこで結果が計算されますか? 各イベントが最初に発生した時間は結果に影響しますか? 結果は、固定ウィンドウ、セッション、または単一のグローバル ウィンドウで集計されますか?
- 処理時間のどの時点で結果が具体化されますか? システム内で各イベントが観察される時間は結果に影響しますか? 結果はいつ出力されますか? 投機的に、データが進化するにつれて?データの到着が遅く、結果を修正しなければならない場合は? これらのいくつかの組み合わせ?
- 結果の絞り込みはどのように関連していますか? 追加のデータが到着して結果が変化した場合、それらは独立していて別個のものであるか、相互に構築されているかなど?
Beam で説明されているパイプラインは、Spark、Flink、クラウドで提供される Google の Dataflow、および「直接」ローカル マシン オプションを含むその他の「ランタイム」で実行できます。
このアーキテクチャでは、さまざまな言語がサポートされています。Java SDK は現在入手可能です。Dataflow Python SDK のリリースが近づいており、その他は Scala などで想定されています。
Mirror of Apache Beamでソースを参照してください