描述
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;