外部表

insert overwrite table test_table select * from test_table where 1=0;
insert overwrite table是覆盖数据,后面select是指使用哪里的数据进行覆盖,
如果条件为空 where 1=0,那就代表清除数据。

内部表

仅仅删除表数据,保留表结构。

方法一

truncate用于删除所有的行且不能删除外部表,因为外部表里的数据并不是存放在Hive Meta store中,语句如下:

truncate table table_name;

方法二

delete用于删除特定条件下的行,使用where 1=1 删除所有行  SQL中where 1 = 1 的使用
delete from table_name where 1 = 1 ;   

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐