问题导读
1.本文介绍了几种维表方案?
2.各个方案有什么优缺点?
3. broadcast如何实现实时更新维表案例?
通过本文你能 get 到以下知识:
- Flink 常见的一些维表关联的案例
- 常见的维表方案及每种方案适用场景,优缺点
- 案例:broadcast 实现维表或配置的实时更新
一、案例分析
维表服务在 Flink 中是一个经常遇到的业务场景,例如:
- 客户端上报的用户行为日志只包含了城市 Id,可是下游处理数据需要城市名字
- 商品的交易日志中只有商品 Id,下游分析数据需要用到商品所属的类目
- 物联网温度报警的场景中,处理的是设备上报的一条条温度信息,之前的报警规则是:只要温度大于 20 度需要报警,现在需要改成大于 18 度则报警。这里的报警阈值需要动态调整,因此不建议将代码写死
对于上述的场景,实际上都可以通过维表服务的方式来解决。
二、 维表方案
Flink 中常见的维表方案有以下几种:
1. 预加载维表
在算子的 open 方法中读取 MySQL 或其他存储介质,