前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive的基本知识(二)Hive中的各种表

Hive的基本知识(二)Hive中的各种表

作者头像
Maynor
发布2022-05-08 13:48:15
6420
发布2022-05-08 13:48:15
举报

🌹内部表:

内部表也称为被Hive拥有和管理的托管表(Managed table)。默认情况下创建的表就是内部表,Hive拥有该表的结构和文件。换句话说,Hive完全管理表(元数据和数据)的生命周期,类似于RDBMS中的表。当您删除内部表时,它会删除数据以及表的元数据。

🌹外部表:

外部表中的数据不是Hive拥有或管理的,只管理表元数据的生命周期。要创建一个外部表,需要使用EXTERNAL语法关键字。删除外部表只会删除元数据,而不会删除实际数据。在Hive外部仍然可以访问

实际数据。

内部表、外部表差异:

无论内部表还是外部表,Hive都在Hive Metastore中管理表定义及其分区信息。删除内部表会从

Metastore中删除表元数据,还会从HDFS中删除其所有数据/文件。删除外部表,只会从Metastore中删

除表的元数据,并保持HDFS位置中的实际数据不变。

🌹分区表:

当Hive表对应的数据量大、文件多时,为了避免查询时全表扫描数据,Hive支持根据用户指定的字段进

行分区,分区的字段可以是日期、地域、种类等具有标识意义的字段,分区字段不能是表中已经存在的字段,分区表的关键字为PARTITIONED BY

静态分区:指的是分区的字段值是由用户在加载数据的时候手动指定的

语法如下:

动态分区:指的是分区的字段值是基于查询结果自动推断出来的

启用hive动态分区,需要在hive会话中设置两个参数:

代码语言:javascript
复制
set hive.exec.dynamic.partition=true; //开启动态分区功能

set hive.exec.dynamic.partition.mode=nonstrict;//指定动态分区的模式,分为nonstick非严格模式和strict严格模式,strict严格模式要求至少有一个分区为静态分区。

核心语法就是insert+select

创建一张新的分区表t_all_hero_part_dynamic

代码语言:javascript
复制
load data [local] inpath ' ' into table tablename partition(分区字段='分区 

值'...); 

create table t_all_hero_part_dynamic( 

id int, 

name string, 

hp_max int, 

mp_max int, 

attack_max int, 

defense_max int, 

attack_range string, 

role_main string, 

role_assist string 

) partitioned by (role string) 

row format delimited 

fields terminated by "\t";执行动态分区插入

分区表的注意事项:

一、 分区表不是建表的必要语法规则,是一种优化手段表,可选;

二、 分区字段不能是表中已有的字段,不能重复;

三、 分区字段是虚拟字段,其数据并不存储在底层的文件中;

四、 分区字段值的确定来自于用户价值数据手动指定(静态分区)或者根据查询结果位置自动推断

动态分区

五、 Hive支持多重分区,也就是说在分区的基础上继续分区,划分更加细粒度

🌹分桶表:

分桶表也叫做桶表,源自建表语法中bucket单词。是一种用于优化查询而设计的表类型。该功能可以让

数据分解为若干个部分易于管理

语法:

其中CLUSTERED BY (col_name)表示根据哪个字段进行分;INTO N BUCKETS表示分为几桶(也就是几

个部分)。需要注意的是,分桶的字段必须是表中已经存在的字段。

开启分桶的功能 ,从Hive2.0开始不再需要设置:

分桶表的使用好处:

1、 基于分桶字段查询时,减少全表扫描

2、 JOIN时可以提高MR程序效率,减少笛卡尔积数量

3、 分桶表数据进行抽样

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🌹内部表:
  • 🌹外部表:
  • 🌹分区表:
  • 🌹分桶表:
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档