Hive的内部表和外部表

内部表

  1. 未被external修饰
  2. 表数据由hive管理(内部表数据存储的位置是hive.metastore.warehouse.dir)
  3. 删除内部表会直接删除元数据(metadata)及存储数据(仅限于location的)
  4. 对内部表的修改会将修改直接同步给元数据
  5. 对于保存的一些业务维度表或者是统计好的报表使用内部表

外部表

  1. 被external修饰的 (create external table )
  2. 表数据由hdfs管理
  3. 删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除;
  4. 对于一些公共的数据源使用外部表.
  5. 对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_name;)

你可能感兴趣的:(Hive)