hive sql构建Json和Json List
执行结果如下:
附脚本:
with t as (
select
concat(
'{'
,'"key1":"','data1','"'
,',','"key2":"','data2','"'
,',','"key3":"','data3','"'
,'}'
) js
,concat(
'{'
,'"key1":"','data1','"'
,',','"key2": ',
'{'
,'"key1":"','data1','"'
,',','"key2":"','data2','"'
,',','"key3":"','data3','"'
,'}'
,' '
,',','"key3":"','data3','"'
,'}'
) jl -- json list
)
select
js
,get_json_object(js,'$.key1') as data1
,get_json_object(js,'$.key2') as data2
,get_json_object(js,'$.key3') as data3
,jl
,get_json_object(jl,'$.key2') as data22
from t
另外这里有个注意点,concat在连接字段时,如果有一个为null,那么整个concat的结果全部为null,需要特别注意一下.
Json数组处理
详见Hive常用技巧记录_yipiantian的博客-优快云博客 中的第一部分第6点
本文介绍如何使用 Hive SQL 构建 JSON 和 JSON 列表,并通过具体示例展示了如何利用 concat 函数创建 JSON 字符串及从 JSON 中提取数据的方法。需要注意的是,当 concat 连接的字段中有 null 值时,结果将返回 null。

2400

被折叠的 条评论
为什么被折叠?



