hive中的内部表和外部表
未被external修饰的是内部表(managed table),被external修饰的为外部表(external table)。
区别
1. 内部表数据由Hive自身管理,外部表数据由HDFS管理;
2.内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定(如果没有LOCATION,Hive将在HDFS的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这里)。
3.删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除。
4.对内部表的修改会将修改直接同步给元数据,而对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_name;)。
创建内部表
CREATE TABLE IF NOT EXISTS b2(id int,name string,age int
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
hive> describe formatted b2;
OK
# col_name data_type comment id int
name string
age int # Detailed Table Information
Database: default
Owner: hadoop
CreateTime: Sun Oct 24 02:44:00 CST 2021
LastAccessTime: UNKNOWN
Protect Mode: None
Retention: 0
Location: hdfs://hadoop1:9000/user/hive/warehouse/b2
Table Type: MANAGED_TABLE
Table Parameters: transient_lastDdlTime 1635014640 # Storage Information
SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
InputFormat: org.apache.hadoop.mapred.TextInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []
Storage Desc Params: field.delim , serialization.format ,
Time taken: 0.218 seconds, Fetched: 29 row(s)
从上面我们可以看到表的类型Table Type
为MANAGED_TABLE
,即我们创建了一个内部表。
创建外部表
create external table b3(Name String, id Int,age int) row format delimited fields terminated by ',';
hive> describe formatted b3;
OK
# col_name data_type comment name string
id int
age int # Detailed Table Information
Database: default
Owner: hadoop
CreateTime: Sun Oct 24 03:06:11 CST 2021
LastAccessTime: UNKNOWN
Protect Mode: None
Retention: 0
Location: hdfs://hadoop1:9000/user/hive/warehouse/b3
Table Type: EXTERNAL_TABLE
Table Parameters: EXTERNAL TRUE transient_lastDdlTime 1635015971 # Storage Information
SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
InputFormat: org.apache.hadoop.mapred.TextInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []
Storage Desc Params: field.delim , serialization.format ,
Time taken: 0.226 seconds, Fetched: 30 row(s)
从上图中,我们可以看到,表的类型是"External Table".
什么时候使用哪种表?
Managed Table
数据是临时数据
外部的程序无法访问这些数据
数据会随着表的删除而删除
External Table
数据可以被外部程序访问
你不能基于已经存在的表再创建表
表被删除时,数据不会被删除
hive中的内部表和外部表相关推荐
- 六、Hive中的内部表、外部表、分区表和分桶表
文章目录 内部表 外部表 分区表 分桶表 在Hive数据仓库中,重要点就是Hive中的四个表.Hive 中的表分为内部表.外部表.分区表和分桶表. 内部表 默认创建的表都是所谓的内部表,有时也被称为管 ...
- hive中内部表和外部表有什么区别?一般什么时候使用内部表什么时候使用外部表?
hive中内部表和外部表有什么区别? 在使用hive搭建数据仓库的时候,可以建立两种表格.一种是内部表(managed table),一种是外部表(external table). 内部表建表是不加修 ...
- hive内部表与外部表区别
1.创建内部表与外部表的区别是什么? 2.external关键字的作用是什么? 3.外部表与内部表的区别是什么? 4.删除表的时候,内部表与外部表有什么区别? 5.load data local in ...
- Hive 内部表与外部表
首先查看当前的表: 内部表 查看emp表: 查看这个emp表的详细信息: 可以看到Table Type是一个MANAGED_TABLE,就是所谓的内部表 内部表跟外部表有什么区别 首先看一下mysql ...
- hive 创建表_2min快速了解,Hive内部表和外部表
在了解内部表和外部表区别前, 我们需要先了解一下Hive架构 : 大家可以简单看一下这个架构图,我介绍其中要点: Hive的数据分为两种,一种为普通数据,一种为元数据. 元数据存储着表的基本信息,增删 ...
- Hive关于数据表的增删改(内部表、外部表、分区表、分桶表 数据类型、分隔符类型)
建表 基本语句格式 CREATE [external] TABLE if not exists student #默认建立内部表,加上external则是建立外部表(id int COMMENT'学号 ...
- Hive内部表与外部表区别详细介绍
文章转载自:http://www.aboutyun.com/thread-7458-1-1.html 1.创建内部表与外部表的区别是什么? 2.external关键字的作用是什么? 3.外部表与内部表 ...
- Hive内部表和外部表
hive创建内部表 hive> CREATE TABLE hT1(id INT,name STRING,hobby ARRAY<STRING>,address MAP<STRI ...
- hive内部表与外部表入门
表分类 在Hive中,表类型主要分为两种, 第一种:内部表 也叫管理表 表目录会创建在集群上的{hive.metastore.warehouse.dir}下的相应的库对应的目录中. 默认创建的表就是内 ...
最新文章
- 中间层通讯 Socket? Remoting? WCF?
- 通过 html5 FileReader 实现上传图片预览功能
- Oracle中查看最近被修改过的表的方法
- PWA(Progressive Web App)入门系列:Fetch Request Headers Response Body
- 如何合理的配置线程数?
- 【英语学习】【English L06】U07 Jobs L5 Work overtime
- 2799元起!小米CC9 Pro正式开售:1亿像素加持DXOMark总分第一
- java分桃子_Java经典编程题分桃子
- python自学-学习Python,从入门到精通,其实只需要两个月就够了
- ffdshow神奇的功能:视频播放时显示运动矢量和QP
- Error:Cannot find bean: org.apache.struts.taglib.html.BEAN in any scope
- PyTorch学习—23.PyTorch的基本使用
- Netty权威指南(第2版)
- centos7 thinkpad trackpoint 中键滚动 关闭粘贴 配置
- c语言计算三棱柱体积,三棱柱的体积
- 一政网:公务员到底是做什么的?
- Java自学教程百度云盘,疯狂加持!腾讯大佬的
- python趣味编程100例-儿童Python趣味编程课程
- 2022年汽车驾驶员(中级)理论题库模拟考试平台操作
- ElasticSearch、ES、es使用教程