普通表的加载
1.load方式
load data [local] inpath [源文件路径] into table 目标表名;
从HDFS上加载数据,本质上是移动文件所在的路径
load data inpath '/user/student.txt' into table student;
从本地加载数据,本质上是复制本地的文件到HDFS上
load data local inpath '/user/student.txt' into table student;
2.insert方式
插入一条数据(单重,先生成临时表再拷贝到student中,效率低)
insert into table student values(00011,黄海霞,18);
插入多条数据(单重,查询结果导入student中,效率低)
insert into table student select * from stu where age >=18;
多重插入(只扫描一次源表,将结果插入到多个新表中,效率高,常用)
from stu insert into table student01 select * where age >=18 insert into table student02 select * where age <18;
分区表的加载(常用)
- 一般不使用load方式,因为这种方式不会自动检验原表与目标表的列是否对应,数据易出错;
- 一般也不建议使用insert方式单条插入