Hive中内部表和外部表的区别


  1. 有external标志的是外部表,无则内部表;
  2. 内部表由Hive自身管理,而外部表由HDFS管理,数据在HDFS上,外部表可以理解成只是存了条建表语句映射到HDFS上的数据文件,并没有产生数的复制或者迁移;
  3. 内部表存储位置:默认情况下/hive/warehouse,外部表如果用户没指定,则在/hive/warehouse下以外部表的库名创建一个文件夹,存放其中;
  4. 内部表删除表会删除元数据和表数据,外部表只会删除这个表的映射,元数据还在HDFS上,用户重新映射该位置,数据自动导入。