hive 分桶

原创 2015年11月21日 16:38:13

1.何为分桶以及和分区的区别

2.实际例子


分桶:如果我们根据某列进行分桶,意思就是对这列的值进行hash,然后除以桶的个数再决定把这个值放到哪个桶中,当我们查询数据的时候,where 分桶列=“” 首先也会对这个条件的值进行hash,找到他所在的桶,这样的话 其他桶就不会再找避免暴力扫描,速度上也会提升

和分区区别:分区是增加实际目录,每增加一个分区就会多个目录,分桶时把一个大的文件分成多个小文件


实际例子:

1.分桶格式:

drop table if exists table_name;

create table if not exists table_name(

row_name row_type,

row_name1 row_type,

...........................................

)

clustered by (row_name) stored by(row_name1) into 4 buckets

row format delimited fields terminated by '\t' stored as textfilel

set hive.enforce.bucketing=true;注意如果没有这句,分桶不会生效

实际例子:

创建分区表:

hive> create table if not exists buckets4(id string,name string) clustered by(id) sorted by(name) into 3  buckets row format delimited fields terminated by '\t' stored as textfile;

开启分桶:

hive> set hive.enforce.bucketing=true;

插入数据:

hive> insert overwrite table buckets4 select * from buckets3;

查看目录变化:

hive> dfs -ls /user/hive/warehouse/buckets4;

Found 3 items
-rwxr-xr-x   2 root supergroup         69 2015-11-21 01:55 /user/hive/warehouse/buckets4/000000_0
-rwxr-xr-x   2 root supergroup         72 2015-11-21 01:56 /user/hive/warehouse/buckets4/000001_0
-rwxr-xr-x   2 root supergroup         49 2015-11-21 01:58 /user/hive/warehouse/buckets4/000002_0

查看内容看你的数据是否被分散在这个三个桶中:

hive> dfs -text  /user/hive/warehouse/buckets4/000000_0;

hive> dfs -text  /user/hive/warehouse/buckets4/000001_0;

hive> dfs -text  /user/hive/warehouse/buckets4/000002_0;




Hive之分区(Partitions)和桶(Buckets)

hive引入partition和bucket的概念,中文翻译分别为分区和桶(我觉的不是很合适,但是网上基本都是这么翻译,暂时用这个吧),这两个概念都是把数据划分成块,分区是粗粒度的划分桶是细粒度的划分...
  • bbbeoy
  • bbbeoy
  • 2017年03月15日 17:23
  • 113

Hive 基础之:分区、桶、Sort Merge Bucket Join

Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。 其实这篇博文主要是想聊...

Hive 基础之:分区、桶、Sort Merge Bucket Join

Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。 其实这篇博文主要是想聊...

Hive 基础之:分区、桶、Sort Merge Bucket Join

Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。 其实这篇博文主要是...

Hive 基础之:分区、桶、Sort Merge Bucket Join

Hive 基础之:分区、桶、Sort Merge Bucket Join Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等...

Hive 基础之:分区、桶、Sort Merge Bucket Join

Hive 基础之:分区、桶、Sort Merge Bucket Join 目录(?)[+] Hive 已是目前业界最为通用、廉价的构建大数据时代...

Hive分桶之BUCKET详解

Bucket 对于每一个表(table)或者分区(partition), Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是 针对某一列进行桶的组织。Hive采用对列值哈希...

Hive 基础之:分区、桶、Sort Merge Bucket Join

Hive 已是目前业界最为通用、廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能、稳定性等方面来说,Hive 的地位尚不可撼动。 其实这篇博文主要是想聊聊 ...
  • wisgood
  • wisgood
  • 2013年12月07日 11:53
  • 20561

hive中的表、外部表、分区和桶的理解

一、概念介绍         Hive 没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表,只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hi...

Hive分桶表及抽样查询

抽样查询对于非常大的数据集,用户不需要全部查询的结果,只需要一个代表性的查询结果时,可以通过对表进行分桶抽样。 Hive桶 先介绍一下Hive桶。 桶是比表或分区更为细粒度的数据范围划分。针对某...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hive 分桶
举报原因:
原因补充:

(最多只允许输入30个字)