2014-02-04 3 views
0

У меня есть структурированные данные с 10 полями в кластере hadoop. Мне нужно обновить эти данные на несколько таблиц улья с подмножеством полей, присутствующих в исходных данных.Hive создать/обновить несколько таблиц из данных одной таблицы

Например: данные имеют поля F1, F2, F3 ... F10. У меня есть таблица B1, содержащая поля F1, F2. Таблица B2, содержащая F1, F3. Таблица B3, содержащая F2, F4.

Я хотел бы знать, есть ли способ заполнить данные в таблицах B1, B2, B3 без чтения данных в A несколько раз.

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

В настоящее время я думаю о нижнем подходе. Прочитайте данные с помощью задания уменьшения карты и используя несколько выходных форматов, напишите разные комбинации клавиш на несколько файлов и загрузите данные из этих файлов в таблицы улей. Пожалуйста, предложите, если есть лучший способ сделать это.

+0

вы открыты для использования Свиньи? –

+0

@sayandasgupta Я не смогу использовать свинью. – Srinivas

ответ

2

улей имеет multi-table inserts:

FROM A 
INSERT INTO TABLE B1 SELECT F1, F2 
INSERT INTO TABLE B2 SELECT F1, F3 
INSERT INTO TABLE B3 SELECT F2, F4; 
+0

Спасибо, Джо. Я нашел это после публикации вопроса. – Srinivas

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