Apache Beam підтримує декілька бікендів бігунів, включаючи Apache Spark та Flink. Я знайомий з Spark / Flink і намагаюся зрозуміти плюси / мінуси Beam для пакетної обробки.
Дивлячись на приклад підрахунку слів Beam , він відчуває, що він дуже схожий на рідні еквіваленти Spark / Flink, можливо, з трохи більш багатослівним синтаксисом.
На даний момент я не бачу великої вигоди від вибору Beam замість Spark / Flink для такого завдання. Єдине спостереження, яке я можу зробити на даний момент:
- Плюс: Абстракція за різними бэкэндами виконання.
- Недолік: Ця абстракція коштує меншою мірою контролю над тим, що саме виконується в Spark / Flink.
Чи є кращі приклади, які висвітлюють інші плюси / мінуси моделі Beam? Чи існує якась інформація про те, як втрата контролю впливає на ефективність?
Зауважте, що я не прошу розбіжностей у аспектах потокового передавання, які частково висвітлюються у цьому питанні та узагальнені в цій статті (застаріли завдяки Spark 1.X).