hive外部表和内部表的区别
时间: 2023-09-12 15:02:49 浏览: 106
Hive管理表和外部表的区别
在 Hive 中,有两种类型的表:内部表和外部表。它们的主要区别在于:
1. 存储位置:内部表的数据存储在 Hive 的数据仓库中,而外部表的数据存储在独立的存储系统中,如 HDFS、S3 等。
2. 数据管理:对于内部表,Hive 会对其数据进行管理,包括数据的存储、元数据的管理等;而对于外部表,Hive 只会管理元数据,不会对数据进行管理。
3. 数据删除:对于内部表,删除表时,Hive 会同时删除表的数据;而对于外部表,删除表时,只会删除表的元数据,不会删除数据。
4. 数据导入:对于内部表,可以使用 LOAD DATA 命令将数据导入到 Hive 中;而对于外部表,需要先将数据导入到独立的存储系统中,再通过 Hive 的 EXTERNAL TABLE 命令来创建外部表。
因此,外部表适用于需要与其他系统共享数据的场景,如在 Hadoop 集群之外的系统中使用 Hive 访问 HDFS 中的数据;内部表适用于需要对数据进行完全控制的场景,如对数据进行清洗、转换等操作。
阅读全文