Hive内表和外表的区别

目录

内表

外表


内表:删表删数据(hdfs上的文件数据)

外表:删表不删数据(hdfs上的文件数据)

 

内表

创建表时没加external,默认是内表

所有的 Table 数据(不包括 External Table)都保存在warehouse这个目录中。

删除表时,元数据与数据都会被删除

创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数据会被移动到数据仓库目录中;之后对数据对访问将会直接在数据仓库目录中完成。删除表时,表中的数据和元数据将会被同时删除

 

外表

包含External 的表叫外部表

删除外部表只删除metastore的元数据,不删除hdfs中的表数据

外部表 只有一个过程,加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立一个链接。当删除一个 外部表 时,仅删除该链接

指向已经在 HDFS 中存在的数据,可以创建 Partition

它和 内部表 在元数据的组织上是相同的,而实际数据的存储则有较大的

你可能感兴趣的:(hive,内表,外表,hive)