hive 插入数据_Hive分桶表

本文介绍了Hive分桶的概念及其作用,包括方便数据抽样和提高JOIN查询效率。通过示例详细讲解了如何创建分桶表、准备测试数据、加载数据,并对比了分桶与分区的区别。在实际操作中,注意分桶表的插入数据需借助中间表,而分区主要用于提高查询效率。
摘要由CSDN通过智能技术生成

一:简介

分桶规则:对分桶字段值进行哈希,哈希值除以桶的个数求余,余数决定了该条记录在哪个桶中,也就是余数相同的在一个桶中。

分桶语法:创建表时使用clustered子句指定要分桶的字段和分桶的数量,也可以指定排序。

clustered by(字段名) sorted by (排序字段)  into 数量 buckets

hive分桶作用:

  1. 方便抽样:在处理大规模数据集时,在开发和修改查询的阶段,如果能在数据集的一小部分数据上试运行查询,会带来很多方便。
  2. 提高join查询效率: 对于JOIN操作两个表有一个相同的列,如果对这两个表都进行了桶操作。那么将保存相同列值的桶进行JOIN操作就可以,可以大大减少JOIN的数据量。

二:示例

1. 创建分桶表
create table tbl_bucket(id bigint, name string)clustered by(id) sorted by (id) into 4 bucketsrow format delimitedfields terminated by ","lines terminated by "";
2. 准备测试数据
echo "1,name12,name23,name34,nam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值