Apache Beamは、Apache SparkとFlinkを含む複数のランナーバックエンドをサポートしています。私はSpark/Flinkに精通しており、私はバッチ処理のためのBeamの長所/短所を見出そうとしています。バーク処理のためのApache Beam over Spark/Flinkのメリットは何ですか?
Beam word count exampleを見ると、元のSpark/Flink同等物と非常によく似ていますが、やや冗長な構文が考えられます。
私は現在、このようなタスクのためにスパーク/ FLINKの上にビームを選択する大きな利益が表示されません。これまでに行った唯一の観察:
- Pro:異なる実行バックエンドの抽象化。
- Con:この抽象化は、Spark/Flinkで何が正確に実行されるかを制御しにくいという代償を払っています。
がビームモデルの他の長所/短所を強調表示し、より良い例はありますか?制御の喪失がパフォーマンスにどのような影響を与えるかについての情報はありますか?
this questionで部分的にカバーされ、this article(スパーク1.Xのために古い)にまとめられているストリーミングの側面の違いを求めていないことに注意してください。