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;