hive 外部表和内部表的区别和相互转换
Hive内部表和外部表区别
1.创建内部表时,内部表的数据文件是保存在指定的路径的;如若创建外部表,则只记录数据所在的路径,不会对数据位置做改变。
2.删除表的时候,内部表元数据和数据会跟着一起删除。外部表只删除元数据
内部表和外部表使用场景
外部表:每天将收集到的网站日志定期流入 HDFS 文本文件。
内部表:在外部表(原始日志表)的基础上做大量的统计分析,用到的中间表、结果表使用内部表存储
转换
内部表转外部表
alter table xm_testA set TBLPROPERTIES ('EXTERNAL = true')
外部表转换内部表
alter table xm_testB set TBLPROPTIES ('EXTERNAL = false')