LOAD DATA

最近更新时间:2026-05-20 14:11:22

我的收藏

描述

LOAD DATA 语句将用户指定目录或文件中的数据加载到 Hive serde 表中。如果指定了目录,则加载目录中的所有文件。如果指定了文件,则仅加载单个文件。此外,LOAD DATA 语句接受可选的分区规范。如果表已被缓存,该命令会清除表及其所有引用依赖项的缓存数据。
注意:
LOAD DATA 仅面向 Hive 外表生效,Iceberg/TCI 表不支持此语法。

语法

LOAD DATA [ LOCAL ] INPATH path [ OVERWRITE ] INTO TABLE table_identifier [ partition_spec ]


参数说明

参数
说明
path
文件系统的路径,可以是绝对路径或相对路径。
table_identifier
指定表名。
partition_spec
可选参数,指定分区。
LOCAL
如果指定,则从本地文件系统解析 INPATH。
OVERWRITE
默认情况下,新数据追加到表中。使用 OVERWRITE 时,表将被新数据覆盖。

示例

-- 准备源数据
CREATE EXTERNAL TABLE load_source (id INT, name STRING)
STORED AS PARQUET LOCATION 'cosn://<your_bucket_name>/test_load_data/load_source';
INSERT INTO load_source VALUES (1, 'Alice'), (2, 'Bob');

-- 创建目标表 (Hive 内部表)
CREATE TABLE load_target (id INT, name STRING) STORED AS PARQUET;

-- 加载数据
LOAD DATA INPATH 'cosn://<your_bucket_name>/test_load_data/load_source' INTO TABLE load_target;

-- 验证加载结果
SELECT * FROM load_target;

-- 覆盖加载数据
LOAD DATA INPATH 'cosn://<your_bucket_name>/test_load_data/load_source' OVERWRITE INTO TABLE load_target;