INSERT OVERWRITE DIRECTORY с форматом Hive
Область применения: Databricks Runtime
Перезаписывает существующие данные в каталоге новыми значениями с помощью 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
и задать разделитель, символ экранирования, нулевой символ и так далее.формат_файла
Формат файла для этой вставки. Допустимые параметры:
TEXTFILE
,SEQUENCEFILE
,RCFILE
,ORC
,PARQUET
иAVRO
. Можно также указать собственные форматы входных и выходных данных с помощьюINPUTFORMAT
иOUTPUTFORMAT
.ROW FORMAT SERDE
может использоваться только в сочетании сTEXTFILE
,SEQUENCEFILE
илиRCFILE
, аROW FORMAT DELIMITED
— только сTEXTFILE
.VALUES ( { значение | 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;