外部表(External)和内部表(Managed)的区别主要是在于,创建一个表的时候有两部分数据,一部分是data存储在HDFS上,另一部分是Meta元数据,存储在Mysql上.当我们drop删除掉内部表的时候,data和元数据都会被删除.而我们删除外部表的时候,只会删除meta部分的数据.
元数据里面存放的是数据的目录,数据的字段,数据的类型,数据的存放位置,类似索引。外部表是由HDFS自身管理,内部表时由Hive自身管理。
外部表(External)和内部表(Managed)的区别主要是在于,创建一个表的时候有两部分数据,一部分是data存储在HDFS上,另一部分是Meta元数据,存储在Mysql上.当我们drop删除掉内部表的时候,data和元数据都会被删除.而我们删除外部表的时候,只会删除meta部分的数据.
元数据里面存放的是数据的目录,数据的字段,数据的类型,数据的存放位置,类似索引。外部表是由HDFS自身管理,内部表时由Hive自身管理。