原文链接:http://apache-flink.147419.n8.nabble.com/flink-1-10-sql-kafka-format-json-schema-json-object-td4665.html#a4700
> 我理解你的需求是json中有一些复杂的字段,你不想解析,希望后续用UDTF在来解析,这个应该做不到的,现在的json format 的解析的底层实现
> 就是按照json的标准格式解析(jackson)的,没法将一个
> jsonObject解析成一个String。另外如果你jsonObject中的内容格式不确定,也不适合在Schema中声明,
> 因为SQL 是预编译后执行的,不能做到schema里是三个field,执行时又能解析四个field。
>
> 一种做法是定义复杂的jsonObject对应的ROW<a INT, b STRING, …>
> 将全部可能的字段包含进去,每条记录没有的字段解析出来的会是null,fail-on-missing-field 默认关闭的,
> 另外一种推荐你把复杂的字段在上游就转义成一个String放到json的一个field中,这样Flink解析出来就是一个String,
> 然后query里用UDTF处理。