腾讯云数据仓库 TCHouse-X INSERT OVERWRITE DIRECTORY

INSERT OVERWRITE DIRECTORY 语句使用 Spark 文件格式或 Hive Serde 将新值覆盖写入目录中的现有数据。使用 Hive Serde 时必须启用 Hive 支持。

相关产品
腾讯云数据仓库 TCHouse-X 产品页,含版本规格、价格与购买入口。

一、语法

INSERT OVERWRITE [ LOCAL ] DIRECTORY [ directory_path ] { spark_format | hive_format } { VALUES ( { value | NULL } [ , … ] ) [ , ( … ) ] | query }

其中 spark_format 定义为:

USING file_format [ OPTIONS ( key = val [ , … ] ) ]

hive_format 定义为:

[ ROW FORMAT row_format ] [ STORED AS hive_serde ]

二、参数

参数 说明
directory_path 指定目标目录。LOCAL 关键字指定目录在本地文件系统上。
file_format 指定用于插入的文件格式:TEXT、CSV、JSON、PARQUET、ORC 等。
OPTIONS 指定文件格式写入的选项。
hive_format 指定 Hive 文件格式。
row_format 指定行格式。
hive_serde 文件格式:TEXTFILE、SEQUENCEFILE、RCFILE、ORC、PARQUET、AVRO。

三、示例

— 创建测试表CREATE EXTERNAL TABLE iod_test_table (id INT, name STRING) USING PARQUET LOCATION 'cosn://<your_bucket_name>/test_insert_overwrite_dir/iod_test_table';INSERT INTO iod_test_table VALUES (1, 'Alice'), (2, 'Bob');– Spark 格式: ParquetINSERT OVERWRITE DIRECTORY 'cosn://<your_bucket_name>/test_insert_overwrite_dir/output_parquet' USING parquet SELECT * FROM iod_test_table;– CSV 格式INSERT OVERWRITE DIRECTORY 'cosn://<your_bucket_name>/test_insert_overwrite_dir/output_csv' USING csv SELECT * FROM iod_test_table;– JSON 格式INSERT OVERWRITE DIRECTORY 'cosn://<your_bucket_name>/test_insert_overwrite_dir/output_json' USING json SELECT * FROM iod_test_table;– 带 OPTIONSINSERT OVERWRITE DIRECTORY USING parquet OPTIONS ('path' 'cosn://<your_bucket_name>/test_insert_overwrite_dir/output_parquet2') SELECT * FROM iod_test_table;

赞 (0)
上一篇 4天前
下一篇 4天前