管理表与外部表
管理表
管理表也被称为内部表。因为这种表,Hive会或多或少的控制着数据的生命周期,正如我们所看见的,Hive默认情况下会将这些数据存储在配置项hive.metastore.warehouse.dir(例如,/user/hive/warehouse)所定义的目录下。当我们删除一个管理表时,hive也会删除这个目录中的数据,但是,管理表不方便和其他工作共享数据。例如,假设我们有一份由pig或者其他工具创建并且主要由这一工具使用的数据,同时我们还想使用hive在这份数据上执行查询,可是没有给予hive对数据的所有权,我们可以创建一个外部表指向这份数据而不需要对其具有所有权。
外部表
我们在创建表的时候可以指定external关键字创建外部表,外部表对应的文件存储在location指定的目录下,向该目录添加新文件的同时,该表也会读取到该文件(当然文件格式必须跟表定义的一致),删除外部表的同时并不会删除location指定目录下的文件.