什么是维表join?
对于每条流式数据,可以关联一个外部维表数据源,为FlinkSql实时计算提供数据关联查询。
说明: 维表是一张不断变化的表,在维表JOIN时,需指明该条记录关联维表快照的时刻。维表JOIN仅支持对当前时刻维表快照的关联,未来会支持关联左表proctime或rowtime所对应的维表快照。
维表join语法:
SELECT [column_list]
FROM table1 [AS <alias1>]
[LEFT] JOIN table2 FOR SYSTEM_TIME AS OF table1.{ proctime | rowtime } [AS <alias2>]
ON table1.column-name1 = table2.column-name1
测试语句:
kafka事实表:
// 2. 定义输入表,从Kafka消费数据
tableEnv.executeSql(
"CREATE TABLE sourceTable (\n" +
" `user_id` STRING,\n" +
" `item_id` INTEGER,\n" +
" `behavior` STRING,\n" +
" `ts` STRING,\n" +
" `body` ROW&