当前位置:   article > 正文

hive的内部表(MANAGED_TABLE)和外部表(EXTERNAL_TABLE)的区别

hive的内部表(MANAGED_TABLE)和外部表(EXTERNAL_TABLE)的区别

1.hive的表类型分为外部表和内部表

  内部表和外部表的主要区别在于数据的存储方式。

外部表:外部表的存储在hdfs中,是我们指定的文件目录,当我们删除数据或者删除分区的时候不会将元数据删除,数据还会在hdfs目录中,我们还可以进行数据挂载。

内部表:内部表的存储是在hdfs的默认目录下,当我们删除数据或者删除分区的时候会将元数据删除,数据文件也会被删除。

2.查看一个表是内部表还是外部表

DESCRIBE FORMATTED table_name

运行指令找到table_type 如果为MANAGED_TABLE,那就是内部表,

如果是EXTERNAL_TABLE,那就是外部表

3.创建内部表和外部表,外部表需要指定LOCATION

  1. CREATE EXTERNAL TABLE external_table_name (
  2. column1 data_type,
  3. column2 data_type,
  4. ...
  5. )
  6. ROW FORMAT DELIMITED
  7. FIELDS TERMINATED BY ','
  8. LOCATION '/path/to/table';
  9. CREATE TABLE internal_table_name (
  10. column1 data_type,
  11. column2 data_type,
  12. ...
  13. )
  14. ROW FORMAT DELIMITED
  15. FIELDS TERMINATED BY ',';

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号