当前位置: 首页 > news >正文

Hive分桶

1.简介

  分桶表是对列值取哈希值的方式将不同数据放到不同文件中进行存储。对于hive中每一个表,分区都可以进一步进行分桶。由列的哈希值除以桶的个数来决定数据划分到哪个桶里。

2.适用场景

  1.数据抽样【sampling】

  2.map-join

3.开启支持分桶

  配置;set hive.enforce.bucketing=true;

  默认值:false

  设置为true后,mapreduce运行时会根据bucket的个数自动分配reduce task个数

  注意:首次作业产生的桶【文件个数】和reduce task个数一致。

4.加载数据  

  执行:

    insert into table bucket_table select columnd from tbl;

    insert override table bucket_table select columns from tbl;

5.抽样

  执行:

    select * from bucket_table tablesample(bucket 1 out of 4 on columns);

  语法:TABLESAMPLE(BUCKET x OUT OF y)

  备注:y必须是table总bucket数的倍数或者因子。hive根据y的大小,决定抽样的比例。例如,table总共分了64份,当y=32时,抽取【64/32】2个bucket的数据,当y=128时,抽取【64/128】1/2个bucket的数据。x表示从哪个bucket开始抽取。例如,table总bucket数为32,tablesample(bucket 3 out of 16),表示总共抽取【32/16】2个bucket的数据,分别为第3个bucket和第【3+16】19个bucket的数据。

6.创建分桶表

  执行:
    create table psnbucket(id INT,name STRING,age INT) clustered by (age) into 4 buckets row format delimited fields terminated by ',';

 

转载于:https://www.cnblogs.com/yszd/p/10726220.html

相关文章:

  • 第三章:内存分配与回收策略
  • visual studio 命令行 build
  • 摘要商城总结
  • StringBuufer与StringBulder线程的区别
  • 微信分享到朋友圈,怎么自定义分享的标题,图片,内容?
  • BZOJ2300[HAOI2011]防线修建——非旋转treap+凸包(平衡树动态维护凸包)
  • 今日学习20190425
  • MAYA 卸载工具,完美彻底卸载清除干净maya各种残留注册表和文件
  • 跨域的理解,以及解决方案!
  • Android进阶:七、Retrofit2.0原理解析之最简流程
  • 20190422 Gitlab Jenkins 的搭建及准备web页面
  • 构建可靠系统的原则与实践
  • 论数据集成技术的演变和发展2/3
  • 死磕 java集合之ArrayDeque源码分析
  • 大佬们快进来给学弟学妹指条明路吧!
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • es6(二):字符串的扩展
  • java 多线程基础, 我觉得还是有必要看看的
  • Java比较器对数组,集合排序
  • opencv python Meanshift 和 Camshift
  • React-Native - 收藏集 - 掘金
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 半理解系列--Promise的进化史
  • 那些被忽略的 JavaScript 数组方法细节
  • 区块链将重新定义世界
  • 算法-插入排序
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 优秀架构师必须掌握的架构思维
  • 自制字幕遮挡器
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • Nginx实现动静分离
  • 选择阿里云数据库HBase版十大理由
  • ​ArcGIS Pro 如何批量删除字段
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • #pragma once与条件编译
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (¥1011)-(一千零一拾一元整)输出
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (六)软件测试分工
  • (南京观海微电子)——COF介绍
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转载)PyTorch代码规范最佳实践和样式指南
  • ******之网络***——物理***
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net 无限分类
  • .Net中的集合
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复