更新时间:2023年07月21日16时53分 来源:传智教育 浏览次数:
内部表(CREATE TABLE table_name ......)未被external关键字修饰的即是内部表,即普通表。内部表又称管理表,内部表数据存储的位置由hive.metastore.warehouse.dir参数决定(默认:/user/hive/warehouse),删除内部表会直接删除元数据(metadata)及存储数据,因此内部表不适合和其他工具共享数据。
外部表(CREATE EXTERNAL TABLE table_name ......LOCATION......)被external关键字修饰的即是外部表,即关联表。外部表是指表数据可以在任何位置,通过LOCATION关键字指定。 数据存储的不同也代表了这个表在理念是并不是Hive内部管理的,而是可以随意临时链接到外部数据上的。所以,在删除外部表的时候,仅仅是删除元数据(表的信息),不会删除数据本身。
对比一下内部表和外部表的操作和理念。