具有横向视图的配置单元查询,json\u元组

roejwanj  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(289)

我有这样一个json文件

{"client":[{"name":"xyz","id":"123"}]}

我已经创建了配置单元外部表

create external table clients (client  STRING) LOCATION '  '

我将json文件放在表位置。
我试图获得名称,id字段使用横向视图,json\u元组。

select v2.name,v2.id
from clients c
lateral view json_tuple(c.client,'client') v1 as client
lateral view json_tuble(v1.client,'id','name') v2 as id,name

我知道如果json文件中没有方括号,上面的查询就可以工作了。
我找不到与此有关的任何东西。
如何处理json文件中的数组节点,同时使用横向视图,json\u元组?

falq053o

falq053o1#

用regexp\u替换“[”怎么样?

select v2.name,v2.id
from clients c
lateral view json_tuple(regexp_replace(c.client,'[|]',''),'client') v1 as client
lateral view json_tuble(v1.client,'id','name') v2 as id,name

沿着这条思路应该行得通

相关问题