1、定义
Hive内部表:默认创建的表是内部表。hive完全管理表(元数据和数据)的声明周期,类似于RDBMS的表。当删除表时,他会删除源数据以及表的元数据。
Hive外部表:外部表的数据不是Hive拥有或者管理的,只管理元数据的声明周期。要创建一个外部表,需要使用external关键字。删除外部表是只会删除元数据,而不会删除实际数据(源数据)。在hive外部依然可以访问实际数据(HDFS)。
及
2、区别
数据存储位置、数据管理方式、数据的持久性以及数据的导入和更新行为等方面
区别 | 内部表 | 外部表 |
---|---|---|
数据存储位置 | Hive数据仓库目录,通常位于HDFS(Hadoop Distributed File System)上的/user/hive/warehouse目录下 | 用户指定的位置,如HDFS、本地文件系统等 |
数据管理方式 | Hive完全管理,表删除时数据同步被删除 | 用户自行管理,Hive仅在元数据中维护表结构等元数据,不负责表的存储和文件管理。如果删除外部表,外部存储的数据不受影响 | <