汪文君Kafka Streams由浅入深 36讲-Kafka Stateful
2023-07-30 21:11 作者:XiaKaLa_BOOM | 我要投稿

- Inner-Join
- 必须双方都有数据才会输出.
- 任意一方在时间窗口内变更都会输出新的数据
- 如果只有一侧有数据, 那数据会暂存在状态存储中等待另一侧数据到达然后数据. 状态存储可能会在窗口过期后重置.
- Left-JOIN
- 必须左侧有数据才会输出, 如果右侧无数据则会直接输出 Entity (不包含右侧数据).
- 单一右侧数据到达只会存放在状态存储中, 等待左侧数据到达然后输出数据. (窗口过期会清空状态存储)
- 任意相同 key 变更都会输出新的结果 (在相同时间窗口时, 新的时间窗口则会丢失一侧数据).
- Outer-JOIN (FULL_JOIN)
- 任意一方数据到达就会输出, 并存放在状态存储中.
- 当另一方相同key 在相同时间窗口到达时会输整合数据.
- 在相同时间窗口更改任意一侧数据都会输出. (如果另一侧有值就是整合数据).