2
에서 분할 된 테이블간에 데이터를 이동하는 방법 나는 두 테이블 emp1
및 emp2
는 하이브
emp1
이있다 필드 -
- 사용자 ID를 가지고 있습니다 국가에 파티션이 있고
emp2
파티션에 파티션이 있습니다.기
어떻게 emp2 테이블에 있었다 emp1 플러스 (union all
) 이전 데이터에서 데이터 집합으로emp2
에서 분할 된 테이블간에 데이터를 이동하는 방법 나는 두 테이블 emp1
및 emp2
는 하이브
emp1
이있다 필드 -
emp2
파티션에 파티션이 있습니다. 기
어떻게 emp2 테이블에 있었다 emp1 플러스 (union all
) 이전 데이터에서 데이터 집합으로 emp2
덮어 쓰기 목표 테이블 emp1
에서 데이터를 이동할 수 있습니다. 참고 distribute by
은 쿼리가 끝나면 파티션 생성을 최적화하기위한 것이며, 최종 축소 기는 파티션 데이터 만 수신하므로 메모리 소비가 줄어 듭니다.
insert overwrite table emp2 partition(occupation)
select userid, name, country, occupation from emp1
union all
select userid, name, country, occupation from emp2
distribute by occupation;
또한 row_number()를 사용하여 중복 제거를 추가 할 수 있습니다.
코드 응답만으로는별로 유용하지 않습니다. 질문에 답변하는 방법/이유를 설명하는 세부 정보를 추가 할 수 있다면 도움이 될 것입니다. – SiHa
설명과 함께 답을 수정하십시오. 또는 코드를 설명 할 수없는 경우 유용한 링크를 제공하십시오. 유행에 따라 "gimme code please"질문을 만족시키는 답변을 게시하지 않아야합니다. – xinaiz