Re: Flink SQL 解析复杂(嵌套)JSON的问题 以及写入到hive类型映射问题

2020-07-28 文章 Leonard Xu
Hello

> 问题是:
> 如果json array 里还有一个array 也是继续嵌套定义吗? 这个数据是要写入到hive,该怎么映射,array  
> ,怎么映射成Hive类型,比如映射成array,这种情况的json该如何处理? 有没有什么办法直接把json 
> array,直接映射成array,试了一下发现不行,该如何处理这种复杂类型。


Json format有一个issue在解这个问题[1],可以把jsonNode强制转成 string, 1.12里会支持,可以看下.

Best
Leonard
[1] https://issues.apache.org/jira/browse/FLINK-18002 


Flink SQL 解析复杂(嵌套)JSON的问题 以及写入到hive类型映射问题

2020-07-28 文章 kandy.wang
json格式,如果是一个json array 该如何定义 schema,array里还可能存在嵌套json array的情况。

如数据:
{"user_info":{"user_id":"0111","name":"xxx"},"timestam":1586676835655,"id":"10001","jsonArray":[{"name222":"xxx","user_id222":"0022"},{"name333":"name","user_id222":"user"},{"cc":"xxx333","user_id444":"user","name444":"name"}]}


参照:https://www.cnblogs.com/Springmoon-venn/p/12664547.html
需要schema这样定义:
user_info 定义成:ROW
jsonArray 定义成 : ARRAY>


问题是:
如果json array 里还有一个array 也是继续嵌套定义吗? 这个数据是要写入到hive,该怎么映射,array  
,怎么映射成Hive类型,比如映射成array,这种情况的json该如何处理? 有没有什么办法直接把json 
array,直接映射成array,试了一下发现不行,该如何处理这种复杂类型。