加载中...

Apache Beam 是一个批流统一的数据处理编程模型与 SDK,源自 Google 内部的 FlumeJava 与 MillWheel 技术及其论文《The Dataflow Model》,2016 年由谷歌捐给 Apache 基金会,名字取自 Batch 与 Stream 的合成。
Beam 用 PCollection 表示数据集、PTransform 表示变换,以窗口(Window)、水位线(Watermark)、触发器(Trigger)三件套统一描述乱序无界数据上的计算,回答何处计算、何时输出、如何修正等问题。
Beam 程序不绑定执行引擎,由 Runner 翻译到具体系统:Google Cloud Dataflow、Flink、Spark 等都有对应 Runner;SDK 支持 Java、Python、Go,跨语言由可移植性框架(Fn API)支撑。
Beam 的模型抽象(尤其事件时间与触发器语义)对流处理理论影响深远;但抽象层也带来性能与调试成本,实际采用广度不及直接使用 Flink。

登录 后参与讨论
暂无讨论,来发表第一条评论吧