улей: литой массив> в карту - PullRequest
0 голосов
/ 17 октября 2018

У меня есть таблица улья, подобная

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), но на самом деле не возвращает всю таблицу в форматеЯ хочу.

1 Ответ

0 голосов
/ 17 октября 2018

Используйте lateral view с inline и map полученными ключами и значениями.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...