蜂巢:强制转换数组<struct< key:string,value:array< string>>放入map< string,array< string>>中. [英] hive: cast array<struct<key:string,value:array<string>>> into map<string,array<string>>
本文介绍了蜂巢:强制转换数组<struct< key:string,value:array< string>>放入map< string,array< string>>中.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个蜂巢表
name string
address string
timezone string
one_key_value array<struct<key:string,value:array<string>>
two_key_value array<struct<key:string,value:array<string>>
并希望将其转换为
name string
address string
timezone string
one_key_value map<string,array<string>>
two_key_value map<string,array<string>>
有explode(array)
,但实际上并没有以我想要的格式返回整个表.
There is explode(array)
but doesn't really return the entire table in the format I want.
推荐答案
将lateral view
与inline
和map
用作结果键和值.
Use lateral view
with inline
and map
the resulting keys and values.
select name,address,timezone,map(k1,v1),map(k2,v2)
from tbl
lateral view inline(one_key_value) t1 as k1,v1
lateral view inline(two_key_value) t1 as k2,v2
这篇关于蜂巢:强制转换数组<struct< key:string,value:array< string>>放入map< string,array< string>>中.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文