是完整的记录。
upsert kafka 就是这样子实现的,只存储最新镜像。
但是有的 query 是会产生 delete 消息的,所以有时候还是需要存下 delete,像 upsert kafka 里就存成了kafka 的
tombstone 消息。
Best,
Jark
On Fri, 4 Dec 2020 at 17:00, jie mei <
[hidden email]> wrote:
> Hi, Community
>
> Flink 动态表的 Change Log 会有四种消息(INSERT, UPDATE_BEFORE, UPDATE_AFTER,
> DELETE).
> 其中 UPDATE_BEFORE 对应的是更新之前的完整记录,UPDATE_AFTER 对应的是更新之后的完整记录吗?
> 我的问题特意强调完整记录,是为了确认 Change Log 的内容是更新后的完整数据,而不是 Set A = 'a' 这样的操作日志/更新语句。
> 此外,Delete语句对应的数据是完整记录还是操作日志呢?
>
> 这意味着Table Sink的时候,只需要获得INSERT, UPDATE_AFTER的数据,写入不支持UPSERT的存储。
> 并通过额外的逻辑判断来获得最新的数据是可行的。
>
> --
>
> *Best Regards*
> *Jeremy Mei*
>