Flink实例(五十八):维表join(二)Flink维表Join实践

本文详细介绍了Flink中四种维表Join的实现方式:预加载维表(内存加载)、热存储维表(如Redis、HBase、MySQL)、广播维表(Broadcast State)以及Temporal Table Function Join。每种方式都有其优缺点,例如预加载适合小数据量,热存储不受数据量限制但受限于外部系统,广播维表适合小数据量且变更及时,Temporal Table Function Join支持大容量和及时更新,但仅限于Flink SQL。通过实例展示了每种方法的实现和应用场景。
摘要由CSDN通过智能技术生成

常见的维表Join方式有四种:

  1. 预加载维表
  2. 热存储维表
  3. 广播维表
  4. Temporal table function join

下面分别使用这四种方式来实现一个join的需求,这个需求是:一个主流中数据是用户信息,字段包括用户姓名、城市id;维表是城市数据,字段包括城市ID、城市名称。要求用户表与城市表关联,输出为:用户名称、城市ID、城市名称。

用户表表结构如下:

字段名 数据类型 数据样例
用户姓名 String User1
城市ID Int 1001
时间戳 Long 1000

城市维表表结构如下:

字段名 数据类型 数据样例
城市ID Int 1001
城市名称 String beijing
时间戳 Long 1000
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王知无(import_bigdata)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值