下面是我的配置单元表结构
data_dt string
id string
records map<string,string>
它是由 data_dt
.
当我运行查询时,
select id, key, val from test
lateral view explode(records) t as key, val
根据Hive文件,我的Map records
分解成数据行。我需要列而不是行中的分解数据。
e、 x:上面的查询会给我
abc | k1 | v1
abc | k2 | v2
abc | k3 | v3
zxc | k1 | v1
zxc | k3 | v3
相反,我需要它如下
id | k1 | k2 | k3
abc | v1 | v2 | v3
zxc | v3 | /N | v3
我知道explode是一个udtf,因此它会将结果转储为行而不是列。但是有没有办法将数据作为列而不是行来获取呢?
1条答案
按热度按时间5jdjgkvh1#
您可以这样运行查询: