当前位置: 首页 > 工具软件 > Beam > 使用案例 >

Beam

符棋
2023-12-01

Apache Beam不是一个数据处理平台,本身也无法对数据进行处理。Beam 所提供的是一个统一的编程模型思想,
Beam 编程模型会涉及到的 4 个概念,窗口、水印、触发器和累加模式
窗口(Window):窗口将无边界数据根据事件时间分成了一个个有限的数据集。
水印(Watermark):水印是用来表示与数据事件时间相关联的输入完整性的概念。对于事件时间为 X 的水印是指:数据处理逻辑已经得到了所有事件时间小于 X 的无边界数据。在数据处理中,水印是用来测量数据进度的
触发器(Triggers):触发器指的是表示在具体什么时候,数据处理逻辑会真正地触发窗口中的数据被计算。触发器能让我们可以在有需要时对数据进行多次运算
累加模式(Accumulation):如果我们在同一窗口中得到多个运算结果,我们应该如何处理这些运算结果。常见的有:丢弃(结果之间是独立且不同的)、累积(后来的结果建立在先前的结果上)

PCollection :Parallel Collection,意思是可并行计算的数据集。
它是无序的;
PCollection 不一定有固定的边界,是否有界取决于生成PCollection的方式;
而且也不能修改内部的数据,只能转换;
延迟执行

PCollection 需要 Coders,Coder 就是在告诉 Beam,怎样把你的数据类型序列化和反序列化。Coder 需要注册进全局的 CoderRegistry 中,简单来说,是为你自己的数据类型建立与 Coder 的对应关系。不然每次你都需要手动指定 Coder。

 类似资料: