常见的维表Join方式有四种:
- 预加载维表
- 热存储维表
- 广播维表
- Temporal table function join
下面分别使用这四种方式来实现一个join的需求,这个需求是:一个主流中数据是用户信息,字段包括用户姓名、城市id;维表是城市数据,字段包括城市ID、城市名称。要求用户表与城市表关联,输出为:用户名称、城市ID、城市名称。
用户表表结构如下:
字段名 | 数据类型 | 数据样例 |
---|---|---|
用户姓名 | String | User1 |
城市ID | Int | 1001 |
时间戳 | Long | 1000 |
城市维表表结构如下:
字段名 | 数据类型 | 数据样例 |
---|---|---|
城市ID | Int | 1001 |
城市名称 | String | beijing |
时间戳 | Long | 1000 |