Apache Beam поддерживает несколько backner-серверов, включая Apache Spark и Flink. Я знаком с Spark/Flink, и я пытаюсь увидеть плюсы/минусы Beam для пакетной обработки.
Глядя на Пример подсчета количества лучей, он чувствует, что он очень похож на родной эквивалент Spark/Flink, возможно, с немного более подробным синтаксис.
В настоящее время я не вижу большого преимущества выбора Beam over Spark/Flink для такой задачи. Единственные наблюдения, которые я могу сделать до сих пор:
- Pro: абстракция над другими исполняемыми файлами.
- Con: эта абстракция приходит к цене за меньший контроль над тем, что именно выполняется в Spark/Flink.
Есть ли лучшие примеры, которые выделяют другие плюсы и минусы модели Beam? Есть ли какая-либо информация о том, как потеря контроля влияет на производительность?
Обратите внимание, что я не прошу о различиях в аспектах потоковой передачи, которые частично рассматриваются в этом вопросе и обобщены в эта статья (устаревшая из-за Spark 1.X).