美文网首页Hive大数据学习
Hive内部表和外部表的区别详解

Hive内部表和外部表的区别详解

作者: 任嘉平生愿 | 来源:发表于2018-05-24 11:37 被阅读0次

Hive内部表和外部表的区别详解 - CSDN博客

1.内部表

create tabletest (name string , age string) location '/input/table_data';

注:hive默认创建的是内部表

此时,会在hdfs上新建一个test表的数据存放地

loaddata inpath '/input/data' into table test ;

2. 外部表

create external tableetest (name string , age string);

会在/user/hive/warehouse/新建一个表目录et

loaddata inpath '/input/edata' into tableetest;

把hdfs上/input/edata/下的数据转到/user/hive/warehouse/et下,删除这个外部表后,/user/hive/warehouse/et下的数据不会删除,但是/input/edata/下的数据在上一步load后已经没有了!数据的位置发生了变化!

本质是load一个hdfs上的数据时会转移数据!

内部表&外部表

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

区别: 

内部表数据由Hive自身管理,外部表数据由HDFS管理; 

内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定; 

删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除; 

对内部表的修改会将修改直接同步给元数据,而对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_name;)

相关文章

  • Hive内部表和外部表的区别详解

    Hive内部表和外部表的区别详解 - CSDN博客 1.内部表 create tabletest (name st...

  • hdfs,hive大数据的存储管理和显示管理

    1.Hive中内部表和外部表及其对应的hdfs路径 1.1 Hive内部表和外部表的区别 Hive 创建内部表时,...

  • hive内部表与外部表

    hive内部表与外部表 hive的内部表与外部表之间的区别 传统数据库和hive之间的区别 传统数据库对表的验证是...

  • 更新hive表数据

    hive外部表和内部表的区别 hive内部表删除的时候会将元数据和hdfs上的数据和对应的文件夹都删掉了,而删除外...

  • HIVE

    基础命令 基本DDL 内部表与外部表的区别 Hive 创建内部表时,会将数据移动到数据仓库指向的路径; Hive ...

  • HIVE

    HIVE内部表与外部表的区别,以及各自使用与那种环境?Hive与传统数据库的区别? Hiverc文件? Hive分...

  • 案例详解__HIVE中内部表、外部表、分区表和分桶表

    目录一、Hive建表语法二、内部表外部表三、分区表四、分桶表 Hive在建表时可指定内部表、外部表、分区表和分桶表...

  • 2021-01-06 周报

    Hive内部表与外部表的区别https://zhuanlan.zhihu.com/p/109990472[http...

  • hive 建表方式及参数详解

    Hive 表简单介绍    hive中有两种表:外部表和内部表(managed and external)。可以通...

  • hive外部表分区

    外部表和内部表 内部表:数据由hive自身管理 存储在hive指定的hdfs目录中 删除会删除数据本身外部表(ex...

网友评论

    本文标题:Hive内部表和外部表的区别详解

    本文链接:https://www.haomeiwen.com/subject/usojjftx.html