其他分享
首页 > 其他分享> > 【学习历程】16 Hive的四种表模型

【学习历程】16 Hive的四种表模型

作者:互联网

文章目录

一、内部表与外部表

1.1 内部表与外部表的区别

1、建表语法的区别

2、删除表之后的区别

1.2 内部表与外部表的使用时机

二、分区表与分桶表

2.1 分区表

1、原理与创建语句

      在大数据中,最常用的一种思想就是分治,我们可以把大的文件切割划分成一个个的小的文件,这样每次操作一个小的文件就会很容易了,同样的道理,在hive当中也是支持这种思想的,就是我们可以把大的数据,按照每天,或者每小时进行切分成一个个的小的文件,这样去操作小的文件就会容易得多了。
在这里插入图片描述
创建分区表语法:
增加partitioned by,如下:

create table score(s_id string, c_id string, s_score int) partitioned by (month string) row format delimited fields terminated by '\t';

2、静态分区和动态分区

set hive.exec.dynamic.partition=true; #开启动态分区功能
set hive.exec.dynamic.partition.mode=nonstrict; #设置hive为非严格模式

2.2 分桶表

在这里插入图片描述
1、分桶表原理

      分桶是相对分区进行更细粒度的划分,分桶将整个数据内容按照某列取hash值,对桶的个数取模的方式决定该条记录存放在哪个桶当中;具有相同hash值的数据进入到同一个文件中。

2、作用

3、创建分桶表

    在创建分桶表之前要执行一下命令:

标签:分桶,16,外部,分区,Hive,分区表,表与,hive,四种
来源: https://blog.csdn.net/Aries1Chan/article/details/120142183