6 Flink Table 和相关概念

1. 动态表

动态表是为了在无界流中实现类似关系型数据库的语义而存在的,动态表把流分为插入流更新日志流 的形式来持续更新表里的数据并展示出来

1.1 动态表的更新与追加

如下图所示一张动态表通过user字段分组聚合统计url的点击次数,左侧是输入的数据,对应右侧输出的数据。
在这里插入图片描述

1.2 动态表到流的转换

最终输出的都是以流的方式把数据输出出来,在动态表中的数据转成流的方式输出时,有三种形式

  • Append-only: 只输出Insert方式的流数据,可以通过指定ChangelogMode.insertOnly()来实现

  • Retrat: 它接受数据的插入,更新前,更新后,删除所有操作,它把insert编码为add message,delete编码为 retract massage,update编码为retract message和add message的组合操作,可以通过指定ChangelogMode.all()来实现**(它是默认的输出方式)**
    在这里插入图片描述

  • Upsert: 它也会接受所有的操作,它把insert和update操作编码为upsert message,delete操作编码为delete message,它与Retract流的区别在于update操作的时直接基于key更新,只需单个消息编码,因此更加的高效
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值