经过一段时间,发现已经分不清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关键字是不可省略的
1226

被折叠的 条评论
为什么被折叠?



