测验:批处理与流式
使用基于时间的水印时,如果多行具有相同的时间戳,会发生什么情况?
- 实际使用中没有问题
- 查询在边界处抛出错误
- 一些跨越边界的行可能会永远丢失或每次都会重复。
- 时间戳排序变得不可能
在使用“至少一次”交付保证的系统中,如何实现恰好一次的结果?
- 更改消息代理设置
- 通过使消费端处理幂等来吸收重复。
- 关闭重试
- 缩短部署周期
流式管道比批处理更困难的根本原因是什么?
- 这是因为必须处理的吞吐量要大得多。
- 因为你不能使用熟悉的SQL
- 因为状态存储要昂贵得多
- 这是因为系统继续在状态之间循环,使得重新处理和窗口整理决策变得更加复杂。
哪种信号最适合选择放置方法?
- 源数据每天更新一次,消费者也每天看到一次。
- 每秒发生数千个事件
- 延迟不应超过1秒
- 数据同时来自多个系统
将大批量分成小块的主要原因是什么?
- 因为整体处理时间减少了
- 因为SQL不支持批量处理
- 这是因为每个块可以使用不同的模式。
- 这是因为只有失败的块才能重新运行,从而减少锁定时间和资源使用峰值。
为什么要在管道中包含一个验证步骤,在提取后立即将案例数量与原始案例数量进行比较?
- 尽早发现由于边界条件错误而导致的重复或遗漏。
- 测量萃取步骤的性能
- 从源头检测架构更改
- 检查源查询权限