Apache Beam 은 Apache Spark 및 Flink를 포함한 여러 러너 백엔드를 지원합니다. 저는 Spark / Flink에 익숙하며 일괄 처리를위한 Beam의 장단점을 확인하려고합니다.
Beam 단어 수 예제를 살펴보면 약간 더 자세한 구문을 사용하여 기본 Spark / Flink 등가물과 매우 유사하다고 느낍니다.
나는 현재 그러한 작업에 대해 Spark / Flink보다 Beam을 선택하는 것이 큰 이점을 보지 못합니다. 지금까지 내가 할 수있는 유일한 관찰 :
- 장점 : 다른 실행 백엔드에 대한 추상화.
- 단점 :이 추상화는 Spark / Flink에서 정확히 실행되는 것을 제어 할 수있는 비용이 듭니다.
Beam 모델의 다른 장단점을 강조하는 더 좋은 예가 있습니까? 통제력 상실이 성능에 미치는 영향에 대한 정보가 있습니까?
이 질문 에서 부분적으로 다루고이 기사 에서 요약 한 스트리밍 측면의 차이를 요구하지 않습니다 (Spark 1.X로 인해 구식).