流式数据分析与处理全解析
1. 流式处理框架的容错方法
在流式处理中,有两种常见的容错方法。一种是将检查点状态复制到其他流处理器节点,并在内存中维护日志。若流处理器出现故障,流管理器需从最近的检查点重建状态,并重新播放日志,以恢复流式作业在故障前的确切状态。与另一种方法相比,这种方法的开销较低,但故障恢复时间较长。它适用于容错至关重要且可接受偶尔适度延迟的场景。
在选择流式处理框架来解决业务问题时,若框架提供容错功能,通常会采用这两种常见方法的变体。
2. 流式系统中的查询类型
在流式系统中,一般有两种类型的查询:
- 即席查询 :一次性对流进行的查询,例如“流中到目前为止看到的最大值是多少?”,这种查询方式与对关系型数据库管理系统(RDBMS)执行的查询相同。
- 连续查询 :本质上是随时对流进行的查询,例如“每五分钟确定流中曾经出现的最大值,并在超过给定阈值时生成警报”。
然而,当前市场上众多流式处理框架提供的查询语言各不相同,许多情况下甚至没有类似 SQL 的查询语言,需要通过编程方式表达算法细节。以下是一些流行流式处理框架的查询语言支持情况:
| 产品 | 查询语言支持 |
| ---- | ---- |
| Apache Storm | 从 1.1.0 版本开始有 SQL 支持,但截至目前仍处于实验阶段,不适合生产使用 |
| Apache Samza | 从 0.9 版本开始有添加查询语言支持的 JIRA 问题,但截至目前该问题仍未解决,没有查询语言支持 |
| Apache Fl
流式数据处理核心技术解析
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



