복붙노트

[HADOOP] 하이브의 하위 디렉토리에서 파티션을 수행하는 방법

HADOOP

하이브의 하위 디렉토리에서 파티션을 수행하는 방법

나는 아래의 디렉토리 구조를 가지고있다.

`/hadoop/maindirec/subdirect1/file1
 /hadoop/maindirec/subdirect1/file2
 /hadoop/maindirec/subdirect2/file1 
 /hadoop/maindirec/subdirect2/file2
 /hadoop/maindirec/subdirect3/file1 
 /hadoop/maindirec/subdirect3/file2
 /hadoop/maindirec/subdirect4/file1    
 /hadoop/maindirec/subdirect4/file2
 /hadoop/maindirec/subdirect5/file1
 /hadoop/maindirec/subdirect5/file2`

이제 orc 포맷의 메인 테이블을 하이브 테이블로 만들고 partdirect1-5를 partiations로 만들고 싶습니다. 누구든지 어떻게 할 수 있는지 알려주세요. 미리 감사드립니다.

지금까지

(하위 문자열)로 분할 된 외부 테이블 임시 (이름 문자열, ID int) 행 형식으로 구분 된 '\ t'로 끝나는 필드 orc 위치로 저장 됨 / hadoop / maindirec tblproperties ( "orc.compress"= "SNAPPY", "skip.header.line.count"= "4"); 파티션 테이블 (subd = 'subdirect1') 위치 / hadoop / maindirec / subdirect1 '파티션 (subd ='subdirect2 ') 위치 / hadoop / maindirec / subdirect2'파티션 (subd = 'subdirect3') 위치 '/ hadoop / maindirec / subdirect3'파티션 (subd = 'subdirect4') 위치 '/ hadoop / maindirec / subdirect4'파티션 (subd = 'subdirect5') 위치 '/ hadoop / maindirec / subdirect5';

입력 선택 *에서 임시; 산출 java.io.IOException 예외 : java.lang.RuntimeException : 심각한 문제

해결법

  1. ==============================

    1.이 코드를 사용할 수 있습니다 : (필요에 따라 열 이름을 변경하고 추가하십시오)

    이 코드를 사용할 수 있습니다 : (필요에 따라 열 이름을 변경하고 추가하십시오)

  2. from https://stackoverflow.com/questions/33014111/how-to-do-partitions-on-subdirectories-in-hive by cc-by-sa and MIT license