파티션 중 하나에서 기존 파티션의 작은 파일을 하나의 큰 파일로 병합하는 방법.하이브에있는 기존 파티션의 작은 파일을 병합하는 방법은 무엇입니까?
예를 들어, 테이블 user1이 있고, 열은 fname, lname이고 파티션 열은 day입니다. ;
나는 스크립트 이하로 사용하여
(일 int)를 parittioned 표 USER1 (FNAME 문자열, LNAME 문자열)를 만들 테이블을 만들었습니다
partion 테이블에 데이터를 삽입 한 후 아래와 같이 표시됩니다.
fname lname day
.....................
AA AAA 20170201 ....>partition 20170201
BB BBB 20170201
...................
CC CCC 20170202 ......>partition 20170202
DD DDD 20170202
....................
EE EEE 20170203 .......>partition 20170203
FF FFF 20170203
.......................
GG GGG 20170204 ........>partition 20170204
HH HHH 20170204
.......................
파티션 열 (예 : 20170201)의 도움으로 select 쿼리를 실행할 때.
는select * from user1 where day=20170201;
는 는
그것은 내가 모든 작은 파일 일 = 20,170,201와 일 = 20,170,202와 일 = 파티션에 20,170,203일 즉 = 20,170,203에 병합 할 위의 표에 따라
AA AAA 20170201
BB BBB 20170201
아래와 같은 결과를 줄 것이다 내 파티션 테이블 (예 : USer1) .ie 그것은 아래처럼 보일 것입니다.
fname lname day
.....................
AA AAA 20170201
BB BBB 20170201
CC CCC 20170202
DD DDD 20170202
E EEE 20170203 .......>partition 20170203
FF FFF 20170203
.......................
GG GGG 20170204 ........>partition 20170204
HH HHH 20170204
.......................
제발 내가 이걸 어떻게 할 수 있니?
미리 감사드립니다.
죄송합니다, 형식은 새로운 테이블에 대한 작동, 응답을 – leftjoin
안녕 감사를 작동하지 않습니다하지만 난 같은 기존의 테이블을 사용하고 싶습니다. 그래서 "alter table user1 columns (partition_day int);"을 사용하여 기존 테이블에 새 열을 추가합니다. 새 열은 NULL 값으로 추가됩니다. 이제 partition_day에는 "NULL"값이 포함되어 있습니다. 그러나 그 후에는 아래에서 같은 테이블을 선택하여 동일한 테이블을 덮어 쓰려고합니다. "day_20170206 일 때 20170206, 20170206 일 때 20170207, user1에서 20170207 종료" –
다음으로 partition_day는 Null 값만 포함합니다. 일일 값을 partition_Day로 설정하는 방법에 대한 도움을받을 수 있습니까? 미리 감사드립니다. –