Hive中 insert into 和 insert overwrite的区别

同点

insert into 和 insert overwrite 都是往表中插入数据的。

 

不同点

区别1:

insert into :其实是将数据追加到表的末尾,注意:不是覆盖,是追加。

insert overwrite : 其实是将重写表(或分区)中的内容,即将原来的hive表(或分区)中的数据删除掉,再进行插入数据操作。

提示: 如果hive 表示分区表的话,insert overwrite 操作只是会重写当前分区的数据,是不会重写其他分区的数据的。

 

区别2:

hive > insert into stu select * from student;  

注:将select * from student 的查询机结果追加到stu表内容的后面,而且table关键字是可以省略的

hive > insert overwrite table stu select * from student;

注:将select * from student 的查询机结果覆盖掉stu表之前的数据,而且table关键字是不可省略的。

 

区别3:

使用insert into运行效率要比insert overwrite高很多,使用的资源比insert overwrite要少。

 

posted @ 2023-03-09 17:26  阿井井w  阅读(764)  评论(0编辑  收藏  举报