hive管理表和外部表

管理表
我们目前所创建的标都是所谓的管理表,有时也会被称为内部表,因为这种表,Hive会控制着数据的生命周期。正如我们所看见的,Hive默认情况下会将这些表的数据存储在由配置项hive.metastore.dir所定义的目录的子目录下。

管理表不方便和其他工作共享数据,例如,假设我们有一份有pig或者其他工具创建并且主要有这一工具使用的数据,同时我们还想使用Hive在这份数据上执行一些查询,可是并没有给与Hive对数据的所有权,我们可以创建一个外部表指向这份数据,而并不需要对其拥有所有权。

外部表
因为表是外部的,所以Hive并非认为其完全拥有这份数据。因此,删除该表并不会删除掉这份数据,不过描述表的元数据信息会被删除掉。