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
,PARQUET
및AVRO
입니다.INPUTFORMAT
및OUTPUTFORMAT
을 사용하여 사용자 고유의 입력 및 출력 형식을 지정할 수도 있습니다.ROW FORMAT SERDE
는TEXTFILE
,SEQUENCEFILE
또는RCFILE
에서만 사용할 수 있고ROW FORMAT DELIMITED
는TEXTFILE
에서만 사용할 수 있습니다.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;