hive-内部表&外部表-详细介绍

1、表类型介绍

内部表:

表面来看,我们建的所有的表,默认都是内部表,内部表又叫做管理表,它的位置也很固定/user/hive/warehouse下面。

外部表:

创建的时候需要加关键字external 修饰,而且,外部表它的数据的存储位置可以不在/user/hive/warehouse,可以指定位置。

建表的语法格式:

复制代码
 create external table tableName(id int,name string) [location 'path'];

举例:

复制代码
create external table t_user7(
id int,
name string
)
row format delimited
fields terminated by ','
location '/publicData'

这个location 是本地的意思还是hdfs的路径呢?答案是必须在hdfs上。

2、内部表和外部表转换

内部表转外部表

复制代码
desc extended t_user; 查看表结构的详细信息

alter table tableName set tblproperties('EXTERNAL'='TRUE');

注意:内部表转外部表,true一定要大写;

外部表转内部表

alter table tableName set tblproperties('EXTERNAL'='false');

说明:false不区分大小

3、两种表的区别

用的最多的都是外部表 ,因为可以分析数据(OLAP)。

OLAP: 为分析而生的数据库 A(分析)

OLTP: 存储数据,保证数据的安全。 T(事务的意思)

最大的区别就是删除表的时候,内部表会删除元数据和真正的hdfs上的数据。而外部表只删除元数据。

思考:为什么这么做?

Hive是一个数据分析的工具,存储数据不是它的本意。

假如一个人,将数据上传至hdfs,这个数据量很大,一般不挪动位置,你可以建一个外部表数据的位置指向hdfs的某个文件夹,然后就可以分析了。

/home a.txt 2G

建一个外部表,指向/home/a.txt , 分析完毕之后,删除表就可以了,干嘛要删除数据,没必要。--用后即焚!

微信小程序--> 阅后即焚。

  1. 内部表和外部表在创建时的差别

就差两个关键字,EXTERNAL 和 LOCATION 举例:

|--------------------------------------------------------------------------------------------------------------------|
| - 内部表 -- CREATE TABLE T_INNER(ID INT); - 外部表 -- CREATE EXTERNAL TABLE T_OUTER(ID INT) LOCATION 'HDFS:///AA/BB/XX'; |

  1. Hive表创建时要做的两件事:

1、在hdfs下创建表目录

2、在元数据库mysql创建相应表的描述数据(元数据)

  1. drop时有不同的特性:

1、drop时,元数据都会被清除

2、drop时,内部表的表目录会被删除,但是外部表的表目录不会被删除。

  1. 使用场景

内部表: 平时用来测试或者少量数据,并且自己可以随时修改删除数据.

外部表:使用后数据不想被删除的情况使用外部表(推荐使用)所以,整个数据仓库的最底层的表使用外部表。

相关推荐
禾叙_9 分钟前
mac配置es
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客10 分钟前
Jina 模型的介绍,它们的功能,以及在 Elasticsearch 中的使用
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
培培说证14 分钟前
2026大专后端开发工程师认证有哪些?
大数据
大千AI助手1 小时前
HiveOperator 中 hql 模板路径解析失败的原因分析
hive·python·任务调度·airflow·模版·大千ai助手·hiveoperator
小北方城市网1 小时前
第 4 课:前端工程化进阶 ——Vue 核心语法 + 组件化开发(前端能力质的飞跃)
大数据·开发语言·数据库·python·状态模式·数据库架构
Hello.Reader1 小时前
Hive Dialect 的查询能力支持哪些 HiveQL 子集,怎么写、怎么跑
数据仓库·hive·hadoop
天码-行空1 小时前
【大数据环境安装指南】ZooKeeper搭建spark高可用集群教程
大数据·linux·运维·zookeeper·spark
deepdata_cn1 小时前
电商运营(浅数据看销量,大数据看趋势,深数据挖需求)
大数据·深数据·浅数据
石头dhf1 小时前
大数据工具梳理
大数据
bin91531 小时前
以码为墨,以心为笔:我的2025创作修行之路
大数据·年度总结·博客之星·2026年新年寄语·个人生活与博客事业的融合与平衡·个人成长与突破盘点·年度创作历程回顾