INSERT OVERWRITE DIRECTORY с форматом Hive;
Область применения: Databricks Runtime
Перезаписывает существующие данные в каталоге новыми значениями, используя SerDe
Hive.
Чтобы использовать эту команду, необходимо включить поддержку 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
и значения разделителя, escape-символа, нуль-символа и так далее.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;