各表之间主键的关系图
这个整理很不容易呀,能够更好地了解他们,其中有一种场景需要使用的
传统的方法删除这张表:
方式一:仅删除表中数据,保留表结构
truncate table 表名;
(truncate用于删除所有的行,这个行为在hive元存储删除数据是不可逆的)
或 delete from 表名 where 1 = 1 ;
(delete用于删除特定条件下的行,使用where 1=1 删除所有行 SQL中where 1 = 1 的使用)
truncate 不能删除外部表!因为外部表里的数据并不是存放在Hive Meta store中
方式二:删除整个表
drop table 表名;
如果要永久性删除,不准备再恢复:
drop table 表名 purge;
使用场景:
不在Hive/Spark中删除分区表,请在元数据中删除表
当:yarn的版本和hadoop版本不匹配
yarn的版本高于hadoop的这时传统方法就不行了
解决问题
知道各表之间主键的关系图
然后在元数据中一个一个删除了(没有什么捷径了, 乖乖删除吧,这是高危操作,要注意流程)