INSERT OVERWRITE DIRECTORY

Область применения:отмечено Databricks SQL отмечено Databricks Runtime

Перезаписывает существующие данные в каталоге новыми значениями с помощью указанного формата файла Spark. Добавляемые строки определяются выражениями значений или результатом запроса.

Синтаксис

INSERT OVERWRITE [ LOCAL ] DIRECTORY [ directory_path ]
    USING file_format [ OPTIONS ( { key [ = ] val } [ , ... ] ) ]
    { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }

Параметры

  • directory_path

    Целевой каталог. Его также можно указать OPTIONS с помощью path. Ключевое слово LOCAL обозначает, что каталог находится в локальной файловой системе.

  • file_format

    Формат файла, используемый для вставки. Допускаются следующие значения: TEXT, CSV, JSON, JDBC, PARQUET, ORC, HIVE, LIBSVM или полное имя класса пользовательской реализации org.apache.spark.sql.execution.datasources.FileFormat.

  • OPTIONS ( { ключ [ = ] val } [ , ... ] )

    Задает один или несколько параметров для записи формата файла. Допустимые ключи и значения зависят от выбранного file_format значения. Параметры, поддерживаемые каждым форматом, см. в разделе "Параметры формата данных". Вы также можете задать path ключ, чтобы указать целевой каталог.

  • VALUES ( { значение | NULL } [ , … ] ) [ , ( … ) ]

    Значения для вставки. Можно вставить явно указанное значение или значение NULL. Используйте запятую, чтобы разделить каждое значение в предложении. Чтобы вставить несколько строк, укажите несколько наборов значений.

  • query

    Запрос, создающий строки для вставки. Используйте один из следующих форматов:

    • Заявление SELECT
    • Заявление TABLE
    • Заявление FROM

Примеры

INSERT OVERWRITE DIRECTORY '/Volumes/my_catalog/my_schema/my_volume/'
    USING parquet
    OPTIONS (col1 1, col2 2, col3 'test')
    SELECT * FROM test_table;

INSERT OVERWRITE DIRECTORY
    USING parquet
    OPTIONS ('path' '/Volumes/my_catalog/my_schema/my_volume/', col1 1, col2 2, col3 'test')
    SELECT * FROM test_table;