适用于: Databricks SQL
 Databricks SQL  Databricks Runtime
 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 ( { key [ = ] val } [ , … ] ) - 指定用于写入文件格式的一个或多个选项。 
- VALUES ( { value | NULL } [ , … ] ) [ , ( … ) ] - 要插入的值。 可以插入显式指定的值或 NULL。 必须使用逗号分隔子句中的每个值。 可以指定多个值集以插入多行。 
- 查询 - 生成要插入的行的查询。 可采用以下格式之一: - 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;