如何在配置单元中将Map转换为列?

v9tzhpje  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(274)

假设我们有

columnsA        columnsB
   1           {'A':22,'B':11}
   2           {'A':13,'C':24}

如何将其转换为

columnsA   A   B   C
   1       22  11  NA
   2       13  NA  24
myzjeezk

myzjeezk1#

使用map[key]操作符

select m['A'] A,  
       m['B'] B, 
       m['C'] C 
  from (select str_to_map("A:22,B:11") m) s;

退货:

A       B       C
22      11      NULL

如果需要“na”而不是null,请使用nvl()函数:

NVL(m['A'],'NA') as A

相关问题