内部表:未被external修饰的表,也叫管理表。
外部表:被external修饰的表。
1.内部表和外部表的区别:
内部表:删除表会删除表的元数据和表数据。
外部表删除表会删除表的元数据,但不会删除表数据。
2.数据管理方式:
数据都存储在HDFS上,内部表由hive自身管理,外部表数据由HDFS管理;元数据都存储在mysql上,也叫mysql管理。
3.使用场景:
外部表:因其指删除表时不会删除HDFS上的数据,安全性相对较高,且指定目录的特性,适合数据需要共享或者数据的处理需要hive和其他工具一起处理的场景。
内部表:对原始数据或比较重要的数据进行建表存储。