Beam 功能矩阵
Apache Beam 提供了一个可移植的 API 层,用于构建复杂的并行数据处理管道,这些管道可以在各种执行引擎(或称为运行器)上执行。此层的核心概念基于 Beam 模型(以前称为 Dataflow 模型),并在每个 Beam 运行器中以不同程度地实现。为了更清楚地说明各个运行器的功能,我们创建了以下功能矩阵。
各个功能已按其对应的“什么/哪里/何时/如何”问题进行分组。
- 正在计算什么结果?
- 事件时间在哪里?
- 处理时间何时?
- 结果的细化如何相关?
有关“什么/哪里/何时/如何”概念分解的更多详细信息,建议阅读 O’Reilly Radar 上的 流式处理 102 文章。
请注意,将来我们打算在当前集合之外添加更多表格,用于诸如运行时特征(例如至少一次与恰好一次)、性能等。
正在计算什么?
|
---|
ParDo |
---|
GroupByKey |
---|
Flatten |
---|
Combine |
---|
复合转换 |
---|
侧输入 |
---|
源 API |
---|
指标 |
---|
有状态处理 |
---|
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ | ✕ | ✕ |
✓ | ✓ | ~ | ~ | ✓ | ✓ | ✓ | ✓ | ✕ | ✕ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ | ✕ | ✕ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ | ✕ | ✕ |
~ | ~ | ~ | ~ | ~ | ✓ | ~ | ~ | ✕ | ✕ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ~ | ✓ | ✕ | ✕ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ | ✕ | ✕ |
~ | ~ | ~ | ~ | ~ | ✕ | ~ | ✕ | ✕ | ✕ |
~ | ~ | ~ | ✕ | ~ | ✕ | ~ | ✕ | ✕ | ✕ |
在此处查看详细信息和完整版本。有界可拆分 DoFn 支持状态
|
---|
基本 |
---|
侧输入 |
---|
可拆分 DoFn 初始化的检查点 |
---|
动态拆分 |
---|
捆绑最终化 |
---|
~ | ~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ | ✓ |
~ | ~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ |
~ | ~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ | ✕ |
~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ | ✕ |
~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ | ✕ |
在此处查看详细信息和完整版本。无界可拆分 DoFn 支持状态
|
---|
基本 |
---|
侧输入 |
---|
可拆分 DoFn 初始化的检查点 |
---|
动态拆分 |
---|
捆绑最终化 |
---|
✓ | ~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ | ✕ |
✓ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ |
✓ | ~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ | ✕ |
✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✓ | ✕ |
在此处查看详细信息和完整版本。事件时间在哪里?
|
---|
全局窗口 |
---|
固定窗口 |
---|
滑动窗口 |
---|
会话窗口 |
---|
自定义窗口 |
---|
自定义合并窗口 |
---|
时间戳控制 |
---|
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
在此处查看详细信息和完整版本。处理时间何时?
|
---|
可配置触发 |
---|
事件时间触发器 |
---|
处理时间触发器 |
---|
计数触发器 |
---|
复合触发器 |
---|
允许的延迟 |
---|
计时器 |
---|
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ~ |
✓ | ✓ | ✕ | ✕ | ✓ | ✓ | ✓ | ~ |
~ | ~ | ~ | ✕ | ~ | ✕ | ~ | ~ |
在此处查看详细信息和完整版本。细化如何关联?
在此处查看详细信息和完整版本。Beam 模型中尚未包含的其他常见功能
~ | ~ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
✕ | ~ | ~ | ✕ | ~ | ✕ | ✕ | ✕ |
~ | ~ | ? | ? | ? | ~ | ? | ? | ? |
在此处查看详细信息和完整版本。
上次更新于 2024/10/31
您是否找到了所有您要查找的内容?
它是否都很有用且清晰?您想更改任何内容吗?请告诉我们!