适用于:
Databricks SQL
Databricks Runtime
使用指定的 Spark 文件格式用新值覆盖目录中的现有数据。 通过值表达式或查询的结果指定插入的行。
语法
INSERT OVERWRITE [ LOCAL ] DIRECTORY [ directory_path ]
USING file_format [ OPTIONS ( { key [ = ] val } [ , ... ] ) ]
{ VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }
参数
directory_path
目标目录。 还可以在使用
path中OPTIONS指定它。LOCAL关键字指定此目录位于本地文件系统上。file_format
要用于插入的文件格式。 有效选项为
TEXT、CSV、JSON、JDBC、PARQUET、ORC、HIVE、LIBSVM,或org.apache.spark.sql.execution.datasources.FileFormat的自定义实现的完全限定类名。OPTIONS ( { key [ = ] val } [ , ... ] )
指定用于写入文件格式的一个或多个选项。 有效的键和值取决于
file_format你选择的值。 有关每种格式支持的选项,请参阅 “数据格式”选项。 还可以设置path密钥以指定目标目录。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;