[HADOOP] 하이브 테이블에 덮어 쓰기 파티션을 삽입 - 값은 복제하기
HADOOP하이브 테이블에 덮어 쓰기 파티션을 삽입 - 값은 복제하기
나는 비 파티션 테이블 내가 분할 하이브 테이블에 데이터를 삽입 선택 쿼리를 사용하여 하이브 테이블을 만들었습니다.
참조 사이트
이것은 내 샘플 직원 데이터 세트입니다 : 링크 1
나는 다음과 같은 쿼리를 시도 : 링크 2
그러나 하이브 테이블에 값을 업데이트 한 후,
50000에 직원 ID (19)와 스티븐의 급여를 업데이트.
값이 중복 얻고있다.
7 Nirmal Tech 12000 A
7 Nirmal Tech 12000 B
NIRMAL는 부서 단지에 배치되어 있지만 부서 B에 중복
나는 아무 잘못을하고 있습니까?
제안하십시오.
해결법
-
==============================
1.당신이 당신의 마지막 INSERT 덮어 쓰기에 WHERE 절을 잊어 버린 것 같다 :
당신이 당신의 마지막 INSERT 덮어 쓰기에 WHERE 절을 잊어 버린 것 같다 :
INSERT INTO TABLE Unm_Parti_Trail PARTITION (Department = 'A') SELECT employeeid,firstname,designation, CASE WHEN employeeid=19 THEN 50000 ELSE salary END AS salary FROM Unm_Parti_Trail WHERE department = 'A';
-
==============================
2.한 가지 가능한 솔루션입니다.
한 가지 가능한 솔루션입니다.
당신은 삽입을 할 때 쿼리의 마지막 것과 같은 파티션 필드를 선택하는 것이 필요하다. 예 :
INSERT INTO TABLE Unm_Parti_Trail PARTITION(department='A') SELECT EmployeeID, FirstName,Designation,Salary, Department FROM Unm_Dup_Parti_Trail WHERE department='A';
추가 정보를 원하시면이 링크를 참조하십시오.
from https://stackoverflow.com/questions/26902998/insert-overwrite-partition-in-hive-table-values-getting-duplicated by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 두싯 IntDoubleProcedure NoClassDefFoundError를 (0) | 2019.09.26 |
---|---|
[HADOOP] 곧 unnest JSON (0) | 2019.09.26 |
[HADOOP] 노드 / HBase를-비보안는 사육사가 아닙니다. 'zookeeper.znode.parent'구성 값을 확인하십시오. (0) | 2019.09.26 |
[HADOOP] 하둡지도에서 엑셀 파일을 읽기 감소 (0) | 2019.09.26 |
[HADOOP] AWS 액세스 키 ID는 하둡 FS -cp 명령에 실패 (0) | 2019.09.26 |