文档首页/
MapReduce服务 MRS/
组件操作指南(LTS版)/
使用HetuEngine/
HetuEngine常见SQL语法说明/
HetuEngine DML SQL语法说明/
LOAD
更新时间:2024-12-11 GMT+08:00
LOAD
语法
LOAD DATA INPATH filepath [OVERWRITE] INTO TABLE tablename
[PARTITION (partcol1=value1,partcol2=values2…)]
描述
LOAD DATA命令用于从文件或者文件夹加载数据到table。
Filepath:需要填写文件或目录的绝对路径。
OVERWRITE:如果使用了这个关键字,目标表(或分区)的数据将被删除,并使用文件中读取的数据来替代。
限制
如果要加载数据到指定分区,用户必须在partition子句中列出表的所有字段。
不支持复杂类型数据,比如Array,Map等。
不支持外部表(external)。
数据文件的格式应当与目标表的文件格式一样。
创建目标表时,应该指定好文件的分隔符,并且分隔符要与数据文件中的分隔符保持一致。
示例
创建文件“f1.txt”,填入3行数字,并通过HDFS上传到“/opt/load_test/”目录下。
--读取f1.txt的数据填充表f1 CREATE TABLE tb_load_f1(id int) with (format='TEXTFILE'); LOAD DATA INPATH '/opt/load_test/f1.txt' into table tb_load_f1; select * from tb_load_f1; id ---- 1 2 3 (3 rows) --读取/opt/load_test/目录下的文件,填充表f2 CREATE TABLE tb_load_f2(id int) with (format='TEXTFILE'); LOAD DATA INPATH '/opt/load_test/' into table tb_load_f2; select * from tb_load_f2; id ---- 1 2 3 (3 rows) --读取f3.txt文件内容填充表f3(多字段,数据分隔符为'-'),并通过HDFS上传到/opt/load_test/ 目录下,f3.txt文件内容如下: 1-n1 2-n2 -- 创建目标表tb_load_f3 CREATE TABLE tb_load_f3(id int,name varchar) with(format='TEXTFILE',textfile_field_separator='-'); Load data inpath '/opt/load_test/f3.txt' into table tb_load_f3; Select * from tb_load_f3; id | name ----|------ 1 | n1 2 | n2 (2 rows)