内部表 VS 外部表
Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,
而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。
所以,建议创建外部表
删除分区
删分区,不会删底层数据,需要覆盖所以,要用 insert overwrite table 而不是 insert into table
而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。
所以,建议创建外部表
所以,要用 insert overwrite table 而不是 insert into table