Apache Beam
Подробнее
- Создатель
- Год
- 2016
- Владелец
- Apache Software Foundation
- Тип
- Модель программирования
- Лицензия
- Apache 2.0
- Сайт
- beam.apache.org
Единая модель пакетной и потоковой обработки: один и тот же конвейер можно запускать на Flink, Spark или Dataflow.
Название сложено из batch и stream. В 2016 году Google передал Apache модель, лежащую в основе Cloud Dataflow, и смысл был в том, чтобы отделить описание конвейера от места его исполнения: пишешь на Java, Python или Go, а runner транслирует это для Flink, Spark или Dataflow.
Главный вклад Beam — словарь для работы со временем. Он разделяет время события и время обработки, справляется с опоздавшими данными с помощью водяных знаков (watermarks), а триггеры решают, когда выдавать результат окна. Этот словарь давно вышел за пределы самого Beam. Обещание переносимости, напротив, исполнилось лишь наполовину: runner’ы поддерживают разные подмножества модели, и при переходе между ними конвейер обычно приходится дорабатывать.