Apache Beamは、ApacheSparkやFlinkなどの複数のランナーバックエンドをサポートしています。私はSpark / Flinkに精通しており、バッチ処理のBeamの長所/短所を確認しようとしています。
Beamの単語数の例を見ると、ネイティブのSpark / Flinkの同等のものと非常に似ているように感じますが、構文が少し冗長になっている可能性があります。
私は現在、そのようなタスクにSpark / FlinkよりもBeamを選択することに大きなメリットは見られません。私がこれまでに行うことができる唯一の観察:
- 長所:さまざまな実行バックエンドの抽象化。
- 短所:この抽象化には、Spark / Flinkで実行される内容を正確に制御できないという代償が伴います。
ビームモデルの他の長所/短所を強調するより良い例はありますか?制御の喪失がパフォーマンスにどのように影響するかについての情報はありますか?
この質問で部分的にカバーされ、この記事で要約されているストリーミングの側面の違いを求めていないことに注意してください(Spark 1.Xのために古くなっています)。