2016-01-25 3 views
0

У меня есть таблица Hbase в вышеуказанном формате:Как наложить hbase на улей?

key : userId#country 
column family: k 
columns: date#visits, visits 

Как я сделать улей таблицу, которая выглядит следующим образом:

userId, date, country, visits 

я попытался поиграться свой путь вокруг с отображением столбцов и так далеко мне удалось это сделать только:

CREATE EXTERNAL TABLE hbase_table(key string, visits int) 
ROW FORMAT DELIMITED 
COLLECTION ITEMS TERMINATED BY '#' 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,k:visits") 
TBLPROPERTIES ("hbase.table.name" = "kpi"); 

Я работал над этим часами и не имел большого прогресса. Может ли кто-нибудь указать мне в правильном направлении?


Я узнал, как отобразить ключ Hbase в улей подряд, это не совсем то, что я хочу, но это помогает ...:

CREATE EXTERNAL TABLE hbase_table(key struct<id:string, country:string>, visits int) 
ROW FORMAT DELIMITED 
COLLECTION ITEMS TERMINATED BY '#' 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,k:visits") 
TBLPROPERTIES ("hbase.table.name" = "kpi"); 
+0

Можете ли вы рассказать немного больше о том, какая ошибка вы нажимаете? –

+0

Я не получаю никаких ошибок, я не могу этого сделать. Код, который я поставил, состоит в том, чтобы отобразить весь ключ и один из столбцов. Я продолжаю разыскивать Интернет, чтобы найти рабочий пример, как сопоставить имя столбца в столбце куста и часть ключа строки в другой столбец. –

+0

Но когда вы говорите, что не можете этого сделать, то где это происходит. Сбой при вводе инструкции CREATE? Или оператор создания работает нормально, но тогда вы не получаете никаких результатов? –

ответ

0

Является ли идентификатор пользователя coulmn в вашем ColumnFamily «к «? если он тогда не дает «: key» внутри отображения. Попробуйте дать «k: userId»

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