当前位置:   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博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/917784
推荐阅读
相关标签
  

闽ICP备14008679号