2017-12-29 12 views
0

하이브에 파티션 된 ORC 테이블이 있습니다. 가능한 모든 파티션이있는 테이블을로드 한 후 HDFS에서 가져옵니다. 여러 개의 ORC 파일 즉, HDFS의 각 파티션 디렉토리에는 ORC 파일이 있습니다. 각 파티션 아래에있는 모든 ORC 파일을 하나의 큰 ORC 파일로 결합해야 사용할 수 있습니다.파티션 하이브 ORC 테이블의 여러 ORC 파일 (각 파티션에 속함)을 하나의 큰 ORC 파일로 결합하는 방법

누가 여러 개의 ORC 파일 (각 파티션에 속함)을 하나의 큰 ORC 파일로 결합 할 수있는 방법을 제안 해 줄 수 있습니까?

Partitioned 테이블에서 새로운 Non Partitioned ORC 테이블을 만들려고 시도했습니다. 파일 수는 줄이지 ​​만 하나의 파일은 줄이지 않습니다.

추 신 : 다른 테이블에서 테이블을 생성하는 것은 완전히 맵 작업이므로 'set mapred.reduce.tasks = 1;'속성을 사용하여 축소 기의 수를 1로 설정하십시오. 도움이 안돼.

감사

답변

0

당신은 작은 오크 파일을 결합하는 CONCATENATE 명령을 사용할 수 있습니다. 이 작업은 파티션 레벨뿐만 아니라 테이블에 수행 할 수 있습니다 구문을 orc 문서에 따라 :

사용자가 자신의 테이블이나 파티션에 CONCATENATE 명령을 실행 에 의해 함께 파일을 작은 ORC의 효율적인 병합을 요청할 수 있습니다. 파일 은 재 초기화없이 스트라이프 레벨에서 병합됩니다.

ALTER TABLE istari [PARTITION partition_spec] CONCATENATE; 
관련 문제