Flink TableAPI更新模式

网友投稿 274 2022-11-16

Flink TableAPI更新模式

更新模式

在流处理过程中,表的处理并不像传统定义的那样简单。

Flink Table API中的更新模式有以下三种:

追加模式(Append Mode)

在追加模式下,表(动态表)和外部连接器只交换插入(Insert)消息。

撤回模式(Retract Mode)

在撤回模式下,表和外部连接器交换的是:添加(Add)和撤回(Retract)消息。

l 插入(Insert)会被编码为添加消息;

l 删除(Delete)则编码为撤回消息;

l 更新(Update)则会编码为,已更新行(上一行)的撤回消息,和更新行(新行)的添加消息。

在此模式下,不能定义key,这一点跟upsert模式完全不同。

Upsert(更新插入)模式

在Upsert模式下,动态表和外部连接器交换Upsert和Delete消息。

这个模式需要一个唯一的key,通过这个key可以传递更新消息。为了正确应用消息,外部连接器需要知道这个唯一key的属性。

l 插入(Insert)和更新(Update)都被编码为Upsert消息;

l 删除(Delete)编码为Delete信息。

这种模式和Retract模式的主要区别在于,Update操作是用单个消息编码的,所以效率会更高。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:static属性为什么不会被序列化
下一篇:java的内部类和外部类用法讲解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~