当键的实际值在更新后保持不变时,Kafka Table 的变更日志是否会向其流发出新事件?
Does the changelog of a Kafka Table emit a new event to its stream when the real value of a key remains unchanged after update?
假设我有 KTable 跟踪位置数据(例如:{'Susan': 'Paris'}
)并使用 table 的 toStream
方法实现了一个更新日志流。
我知道如果要更新 table 并更改键 Susan
(例如:Berlin
),那么更改日志流将发出一个新事件 {'Susan': 'Berlin'}
.但是,如果更新后的值与上次相同怎么办?——例如,在聚合操作期间,我们第二次将 Susan
设置为 Berlin
。
变更日志是否会发出第二个 {'Susan': 'Berlin'}
事件,或者新事件是否仅在旧值和新值之间存在差异时才添加到变更日志流中?
总是发出更新。没有比较新旧值的检查,假设新值与旧值不同,因此每次都会发出。
假设我有 KTable 跟踪位置数据(例如:{'Susan': 'Paris'}
)并使用 table 的 toStream
方法实现了一个更新日志流。
我知道如果要更新 table 并更改键 Susan
(例如:Berlin
),那么更改日志流将发出一个新事件 {'Susan': 'Berlin'}
.但是,如果更新后的值与上次相同怎么办?——例如,在聚合操作期间,我们第二次将 Susan
设置为 Berlin
。
变更日志是否会发出第二个 {'Susan': 'Berlin'}
事件,或者新事件是否仅在旧值和新值之间存在差异时才添加到变更日志流中?
总是发出更新。没有比较新旧值的检查,假设新值与旧值不同,因此每次都会发出。