수색…
통사론
표준 구문 :
INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1 = val1, partcol2 = val2 ...) [존재하지 않는 경우]] select_statement1 FROM from_statement;
INSERT INTO TABLE tablename1 [분할 (partcol1 = val1, partcol2 = val2 ...)] select_statement1 FROM from_statement;
INSERT INTO TABLE tablename1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] (z, y) select_statement1 FROM from_statement;
하이브 확장 (다중 삽입) :
FROM from_statement
INSERT OVERWRITE TABLE tablename1 [분할 (partcol1 = val1, partcol2 = val2 ...) [존재하지 않으면]] select_statement1
[INSERT OVERWRITE TABLE tablename2 [PARTITION ... [존재하지 않는 경우]] select_statement2]
[INSERT INTO TABLE tablename2 [PARTITION ...] select_statement2] ...;FROM from_statement
INSERT INTO TABLE tablename1 [분할 (partcol1 = val1, partcol2 = val2 ...)] select_statement1
[INSERT INTO TABLE tablename2 [PARTITION ...] select_statement2]
[덮어 쓰기 테이블 tablename2 [분할 ... [존재하지 않는 경우]] select_statement2] ...;하이브 확장 (동적 파티션 삽입) :
INSERT OVERWRITE TABLE tablename PARTITION (partcol1 [= val1], partcol2 [= val2] ...) select_statement FROM from_statement;
INSERT INTO TABLE 테이블 이름 PARTITION (partcol1 [= val1], partcol2 [= val2] ...) select_statement FROM from_statement;
비고
덮어 쓰기 삽입
삽입 덮어 쓰기 문은 사용 된 select 문을 기반으로 새 파일을 추가하기 전에 대상 테이블이나 파티션에있는 기존 파일을 삭제합니다. 때로는 이전 파일이 삭제되지 않는 테이블을로드하는 데 사용되는 테이블이나 DML에 대한 구조 변경이있을 때주의하십시오. 동적 파티셔닝을 사용하여 테이블에로드 할 때 select 문에 의해 정의 된 파티션 만 덮어 쓰게됩니다. 대상에있는 기존 파티션은 남아 있으며 삭제되지 않습니다.
에 집어 넣다
insert into 문은 사용 된 select 문을 기반으로 새 데이터를 대상 테이블에 추가합니다.
덮어 쓰기 삽입
insert overwrite table yourTargetTable select * from yourSourceTable;
표에 삽입
INSERT INTO는 기존 데이터를 손상시키지 않고 테이블이나 파티션에 추가합니다.
INSERT INTO table yourTargetTable SELECT * FROM yourSourceTable;
테이블이 파티셔닝 된 경우 아래와 같이 정적 인 방식으로 특정 파티션에 삽입 할 수 있습니다.
INSERT INTO TABLE yourTargetTable PARTITION (state=CA, city=LIVERMORE)
select * FROM yourSourceTable;
테이블이 파티셔닝 된 경우, 아래 표시된 것처럼 동적 인 방식으로 특정 파티셔닝에 삽입 할 수 있습니다. 동적 파티션 삽입을 수행하려면 아래에서 속성 아래에 설정해야합니다.
Dynamic Partition inserts are disabled by default. These are the relevant configuration properties for dynamic partition inserts:
SET hive.exec.dynamic.partition=true;
SET hive.exec.dynamic.partition.mode=non-strict
INSERT INTO TABLE yourTargetTable PARTITION (state=CA, city=LIVERMORE) (date,time)
select * FROM yourSourceTable;
표에서 여러 개의 삽입물 삽입.
하이브 확장 (다중 삽입) :
FROM table_name
INSERT OVERWRITE TABLE table_one SELECT table_name.column_one,table_name.column_two
INSERT OVERWRITE TABLE table_two SELECT table_name.column_two WHERE table_name.column_one == 'something'