수색…


통사론

  • 표준 구문 :

  • 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'


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow