다음을 통해 공유


Hive 형식의 INSERT OVERWRITE DIRECTORY

적용 대상: 예로 표시된 확인 Databricks 런타임

Hive SerDe를 사용하여 디렉터리의 기존 데이터를 새 값으로 덮어씁니다. 이 명령을 사용하려면 Hive 지원을 활성화해야 합니다. 값 식 또는 쿼리 결과로 삽입된 행을 지정합니다.

구문

INSERT OVERWRITE [ LOCAL ] DIRECTORY directory_path
    [ ROW FORMAT row_format ] [ STORED AS file_format ]
    { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }

매개 변수

  • directory_path

    대상 디렉터리입니다. LOCAL 키워드는 디렉터리가 로컬 파일 시스템에 있음을 지정합니다.

  • row_format

    이 삽입의 행 형식입니다. 유효한 옵션은 SERDE 절 및 DELIMITED 절입니다. SERDE 절을 사용하여 이 삽입에 대한 사용자 지정 SerDe를 지정할 수 있습니다. 또는 DELIMITED 절을 사용하여 네이티브 SerDe를 지정하고 구분 기호, 이스케이프 문자, Null 문자 등을 지정할 수 있습니다.

  • file_format

    이 삽입의 파일 형식입니다. 유효한 옵션은 TEXTFILE, SEQUENCEFILE, RCFILE, ORC, PARQUETAVRO입니다. INPUTFORMATOUTPUTFORMAT을 사용하여 사용자 고유의 입력 및 출력 형식을 지정할 수도 있습니다. ROW FORMAT SERDETEXTFILE, SEQUENCEFILE 또는 RCFILE에서만 사용할 수 있고 ROW FORMAT DELIMITEDTEXTFILE에서만 사용할 수 있습니다.

  • VALUES ( { value | NULL } [ , … ] ) [ , ( … ) ]

    삽입할 값입니다. 명시적으로 지정된 값 또는 NULL을 삽입할 수 있습니다. 절의 각 값을 구분하려면 쉼표를 사용해야 합니다. 여러 행을 삽입하기 위해 둘 이상의 값 집합을 지정할 수 있습니다.

  • query

    삽입할 행을 생성하는 쿼리입니다. 다음 형식 중 하나입니다.

    • SELECT
    • TABLE
    • FROM

예제

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/destination'
    STORED AS orc
    SELECT * FROM test_table;

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/destination'
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    SELECT * FROM test_table;