Hive在简书大数据技术相关收录Hive

Hive-分区&分桶

2018-11-02  本文已影响2人  风筝flying

分区

简介

为了避免Hive每次查询都扫描整个文件,除了采用索引的方式外,还可以通过建立分区表。分区表是指在创建表的时候指定的partition的分区空间,这样在查找分区的数据时,就不用扫描所有数据文件,只需要扫描指定分区的数据文件。

细节

优点

分桶

简介

对于每一个Hive表(包括分区表),Hive可以进一步对数据进行分桶,桶是更细粒度的数据范围划分。分区是针对文件目录,分桶则是针对数据文件。桶是通过对指定列进行哈希计算来实现的,通过哈希值将一个列名下的数据切分为一组桶,对哈希值除以桶的个数求余数的方式决定该记录存放在哪个桶中,每个桶对应于该列名下的一个存储文件。

优点

创建分桶的table

CREATE TABLE test_bucketed (id INT, name STRING)
CLUSTERED BY (id) SORTED BY (id ASC) INTO 4 BUCKETS

我们使用用户ID来确定如何划分桶(Hive使用对值进行哈希并将结果除 以桶的个数取余数。这样,任何一桶里都会有一个随机的用户集合。

注意

上一篇 下一篇

猜你喜欢

热点阅读