2013-02-25 3 views
1

Мне интересно, возможно ли следующее. У меня есть данные в Hive, разделенные по дате и журналу, но у меня также есть данные, которые не попадают под конкретный регистратор.Использование нескольких уровней разделов в Hive

например.

date=2012-01-01/logger=1/part000 
date=2012-01-01/logger=1/part001 
date=2012-01-01/logger=2/part000 
date=2012-01-01/logger=2/part001 
date=2012-01-01/part000 

Я создал таблицу:

create table mytable (
    ... 
) 
partitioned by (date string, logger int) 
.... 
; 

и добавлены разделы:

alter table mytable add partition (date='2012-01-01', logger=1) location '/user/me/date=2012-01-01/logger=1/'; 
... 

Я могу запрашивать данные в перегородках, но я не могу запрашивать данные в файле date=2012-01-01/part000. Можно ли включить этот файл без его соответствия разделу?

Спасибо

ответ

0

Аарон, как вам удалось получить такую ​​структуру? Обычно, если отсутствует ключ раздела, то в этом случае создается раздел под названием __HIVE_DEFAULT_PARTITION__.

+0

Структура, полученная в результате перемещения данных, не изначально переделанных для улья в улье. Данные в 'date = 2012-01-01/part000' являются той же структурой, что и другие, но не имеют никакой связи с регистратором. Возможно, мне придется переместить его в файл 'logger = 0' по умолчанию, чтобы он вписывался в Hive. – Aaron

+0

Вам придется. Структура папки должна соответствовать определению таблицы. GL! – www

+0

Спасибо. Ваш последний комментарий был фактически ответом, поэтому я приму этот ответ. – Aaron