hive 内部表和外部表的区别

2022-05-08 13:30:45 浏览数 (1)

1.hive 内部表和外部表的区别

未被 external 修饰的是内部表(managed table),被 external 修饰的为外部表 (external table)

区别: 1)内部表数据由 Hive 自身管理,外部表数据由 HDFS 管理; 2)内部表数据存储的位置是 hive.metastore.warehouse.dir(默认: /user/hive/warehouse),外部表数据的存储位置由自己制定(如果没有 LOCATION, Hive 将在HDFS 上的/user/hive/warehouse 文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里); 3)删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS 上的文件并不会被删除;

0 人点赞