我理解最佳实践是第一种,先读出来array,再用table function展开成多行。 实际上把array转成多行是Flink 内置支持的,可以参考[1]的”Expanding arrays into a relation“部分
[1] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql/queries.html#joins 王 outlook <deadwi...@outlook.com> 于2020年7月6日周一 下午9:29写道: > 像如下这种JSON输入, > > { > "id": 1, > "many_names": [ > {"name": "foo"}, > {"name": "bar"} > ] > } > > 输出表两行 id 1, name foo | id 1, name bar > > 最佳实践是从Kafka读到后,调用TableFunction这个UDTF转出多行? > 还是Flink SQL有更方便的操作,从Source读出来就能把数组展开。 > > > 来自 Outlook<http://aka.ms/weboutlook> > -- Best, Benchao Li