外部表和内部表

文章目录

  • 外部表和内部表
  • 内部表(未被external修饰)
  • 外部表(被external修饰)
  • 使用场景
  • 内部表与外部表的互相转换
    • 内部表转外部表
    • 外部表转内部表
  • 区别

内部表(未被external修饰)

默认创建的表都是所谓的管理表,有时也被称为内部表。因为这种表,Hive 会(或多或少地)控制着数据的生命周期。Hive 默认情况下会将这些表的数据存储在由配置项
hive.metastore.warehouse.dir所定义的目录的子目录下。

当我们删除一个管理表时,Hive 也会删除这个表中数据。管理表不适合和其他工具共享数据。

外部表(被external修饰)

因为表是外部表,所以 Hive 并非认为其完全拥有这份数据。删除该表并不会删除掉这份数据,不过描述表的元数据信息会被删除掉。

使用场景

内部表与外部表没有太大区别。如果所有的数据都由hive处理,则创建内部表;如果数据的处理由hive和其他工具一起处理,则创建外部表。

内部表与外部表的互相转换

内部表转外部表

查询表的类型

desc formatted student;
---输出结果
Table Type: MANAGED_TABLE

修改内部表 student为外部表

alter table student set tblproperties('EXTERNAL'='TRUE');
---查询表的类型
desc formatted student;
---查询结果
Table Type: EXTERNAL_TABLE

外部表转内部表

修改外部表 student 为内部表

alter table student set tblproperties('EXTERNAL'='FALSE');

查询表的类型

desc formatted student;
---查询结果
Table Type: MANAGED_TABLE

注意:('EXTERNAL'='TRUE')和('EXTERNAL'='FALSE')为固定写法,区分大小写!

区别

1.创建表时:创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径, 不对数据的位置做任何改变。

2.删除表时:在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。

3.外部表被external修饰,内部表未被external修饰

4.hive默认创建的是内部表

5.外部表比内部表更加安全

Hive---外部表和内部表相关推荐

  1. hive外部表改为内部表_hive内部表外部表介绍

    未被external修饰的是内部表(managed table),被external修饰的为外部表(external table): 区别: 内部表数据由Hive自身管理,外部表数据由HDFS管理: ...

  2. HIVE表的迁移(外部表到内部表并压缩数据)

    Hive表迁移至压缩表: 1. 压缩方式选择(经测试选择snappy) 2. 创建Hive内部表(主要是后面Rename的时候可以将location改成对应的位置) CREATE **TABLE** ...

  3. 建表语句,内部表,外部表

    CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name   // 定义字段名,字段类型   [(col_name data_type [COMMENT c ...

  4. Hive的基本操作-创建内部表

    管理表的操作 建表初体验 use myhive; create table stu(id int,name string); insert into stu values (1,"zhang ...

  5. hive内部表与外部表区别

    1.创建内部表与外部表的区别是什么? 2.external关键字的作用是什么? 3.外部表与内部表的区别是什么? 4.删除表的时候,内部表与外部表有什么区别? 5.load data local in ...

  6. 六、Hive中的内部表、外部表、分区表和分桶表

    文章目录 内部表 外部表 分区表 分桶表 在Hive数据仓库中,重要点就是Hive中的四个表.Hive 中的表分为内部表.外部表.分区表和分桶表. 内部表 默认创建的表都是所谓的内部表,有时也被称为管 ...

  7. Hive 内部表与外部表

    首先查看当前的表: 内部表 查看emp表: 查看这个emp表的详细信息: 可以看到Table Type是一个MANAGED_TABLE,就是所谓的内部表 内部表跟外部表有什么区别 首先看一下mysql ...

  8. hive 创建表_2min快速了解,Hive内部表和外部表

    在了解内部表和外部表区别前, 我们需要先了解一下Hive架构 : 大家可以简单看一下这个架构图,我介绍其中要点: Hive的数据分为两种,一种为普通数据,一种为元数据. 元数据存储着表的基本信息,增删 ...

  9. Hive关于数据表的增删改(内部表、外部表、分区表、分桶表 数据类型、分隔符类型)

    建表 基本语句格式 CREATE [external] TABLE if not exists student #默认建立内部表,加上external则是建立外部表(id int COMMENT'学号 ...

最新文章

  1. CentOS 7最小化安装步骤
  2. 第一章:1.1.3 典型信号
  3. Day 1: Bower —— 管理你的客户端依赖关系
  4. 牛客多校三 B Black and white
  5. python中numpy矩阵运算操作大全(非常全)!
  6. mod_python模块安装
  7. UNION,EXISTS,IN等在SQL语句中的灵活应用和场境的选择。
  8. SQL优化笔记(二)—CPU优化
  9. 前端开发桌面终极工具(FastStone Capture)推荐(转)
  10. 《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.3 执行计划各个列的含义...
  11. python网络爬虫系列教程——python中urllib、urllib2、cookie模块应用全解
  12. Android Studio 2.3.1导出jar文件不能生成release解决办法
  13. I2C 总线协议详解
  14. 一个可以免费下载数据集的网站
  15. fluidsim元件库下载_基于仿真软件的系统EMC设计解析
  16. 有哪些好用的电脑桌面分类管理软件?这3款软件让你的效率秒杀小伙伴!
  17. 软件测试脚本语言有哪些,测试脚本是什么意思有哪些脚本
  18. ubuntu安装nvidia和cuda重启后,鼠标键盘失灵
  19. 2021-2027全球与中国翠绿宝石激光器市场现状及未来发展趋势
  20. can收发器 rx_CAN/CANFD采样点

热门文章

  1. python超市进销存毕业设计-附源码211549
  2. CRC校验原理和推导过程及Verilog实现(一文讲透)
  3. HMaster因zookeeper连接超时自杀
  4. 软件开发周期(各个阶段)
  5. 删除固定时间以前的文件与文件夹bat文件
  6. php小红针用了爆痘,做完微针为什么会爆痘痘 微针后5种爆痘情况如何解决
  7. SQL 通配符及其使用
  8. Java反射机制详解
  9. SAP MM模块常用的表
  10. ModSecurity网站防火墙安装教程加WEB防御规则设置