一行数据带了三个待lookup查询的key,分别是key1,key2和key3

id key1 key2 key3
想实现批量lookup查询返回一行数据 id value1 value2 value3


查了下目前包括jdbc connector在内的lookup都不支持批量查询,所以只能先将多列转成多行分别lookup再将多行转成多列,如下所示
id key1 key2 key3
先将多列转成多行
id key1
id key2
id key3

分别进行lookup join后得到
id value1
id value2
id value3
最后多行转多列返回一行数据

id value1 value2 value3


上述方案目前我能想到的是通过udtf + udaf来实现,但缺点是不具备通用性。Flink社区打算原生支持么?

回复