2015-03-20 3 views
3

Ниже мой набор данных:Как загрузить пары ключевых значений в таблицу улья?

Jun name="balaji" id=101 

Mar name="kumar" id=102 

Создана таблица:

create table sample(month string,name string, id int) 
row format delimited fields terminated by 'space' map keys terminated by '='; 

Результат:

select * from sample;  
JUN name="balaji" NULL 
Mar name="kumar" NULL 

Ожидаемый результат:

JUN balaji 101 

Mar kumar 102 

Пожалуйста, помогите мне в этом.

ответ

1

Создание таблиц, как это:

create table sample(mnth string,names map<string,string>,ids map<string,int>) 
row format delimited fields terminated by ' ' map keys terminated by '='; 

Выберите запрос должен быть:

select mnth,names["name"],ids["id"] from sample; 

    result: 
     Jun "balaji" 101 
     Mar "kumar" 102 

Если вы стреляете select * из образца:

Jun {"name":"\"balaji\""} {"id":101} 
    Mar {"name":"\"kumar\""} {"id":102} 

Для доступа к каждому значению на карте вам нужно пройти, как names["name"].

+0

возможно создать таблицу для набора данных, указанных ниже, имя = «Баладжи» ID = 100 имя = «Кумар» имя_файла = «некоторые» ID = 102 данные будут динамически изменяться он не имеет правильная схема. Как загрузить этот вид данных в таблицу улья. – thambisetty

+0

Улей не создает динамическую схему из данных, с которыми она сталкивается. Вы можете разместить ее в другом вопросе с данными set.may, люди помогут вам. –

+0

ОК благодарю вас за ваш быстрый ответ. – thambisetty

Смежные вопросы