内部表和外部表最主要的一个差别就是删除表或者删除分区时,底层的文件是否自动删除,内部表会自动删除,外部表不会自动删除,所以基础数据表一定要用外部表,即使误删表或分区之后,还可以很容易的恢复回来。
虽然外部表可以恢复,但是逐个分区恢复也很累,如果你的分区很多,或者有多级分区的时候
alter table test_table add partition (partition_key='partition_value')
更简单的方式是执行
msck repair table test_table
一键恢复所有分区