2013-02-25 5 views
1

다음과 같은 것이 가능한지 궁금합니다. 날짜와 로거로 파티션 된 하이브에 데이터가 있지만 특정 로거에 속하지 않는 데이터도 있습니다.하이브에서 여러 레벨의 파티션 사용

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) 
.... 
; 

및 파티션 추가 : 나는 파티션의 데이터를 조회 할 수 있습니다,하지만 난 파일 date=2012-01-01/part000의 데이터를 쿼리 할 수 ​​없습니다

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

합니다. 파티셔닝을 따르지 않고이 파일을 포함 할 수 있습니까?

당신에게

답변

0

아론 감사, 당신은 어떻게 그런 구조를 얻을 관리 않았다? 보통 파티션 키가없는 경우 HIVE는 __HIVE_DEFAULT_PARTITION__이라는 파티션을 만듭니다.

+0

원래 하이브 용으로 파티셔닝되지 않은 데이터를 하이브로 이동하여 구조가 생성되었습니다. 'date = 2012-01-01/part000'의 데이터는 다른 데이터와 구조가 동일하지만 로거에 연결되지 않습니다. Hive에 맞도록 기본값'logger = 0'으로 옮겨야 할 수도 있습니다. – Aaron

+0

해야합니다. 폴더 구조는 테이블 정의에 적합해야합니다. GL! – www

+0

감사합니다. 당신의 마지막 코멘트가 사실상 답 이었으므로 나는이 대답을 받아 들일 것입니다. – Aaron

관련 문제