zoukankan      html  css  js  c++  java
  • Hive之分桶表

    1. Hive分桶表

    简介

    桶是比表或分区更为细粒度的数据范围划分。针对某一列进行桶的组织,对列值哈希,然后除以桶的个数求余,决定将该条记录存放到哪个桶中。

    • 获得更高的查询处理效果
    • 抽样调查

    创建分桶表

    create table bucketed_user
    (id int ,name string) clustered by (id)  into 4 buckets
    stored as orc;

    添加数据前需要先开启分桶

    set hive.enforce.bucketing=true;

     导入数据

    insert into table bucketed_user select user_id,order_id from orders;

    查询数据

    select * from bucketed_user tablesample(bucket 1 out of 16 on id) limit 50;
    tablesample(bucket x out of y)
    x:表示从第几桶开始抽数据(1,2,3,4)
    y:表示抽数据的比例,是抽数据的分母
    比如: 有4个分桶
    tablesample(bucket 1 out of 16)  表示从第一桶开始抽数据,抽取第一桶数据的比例为(4(桶数)/16(分母))=1/4,抽取第一桶四分之一的数据
    tablesample(bucket 2 out of 32)  表示从第二桶开始抽数据,抽取第二桶数据的比例为(4(桶数)/32(分母))=1/8,抽取第一桶八分之一的数据
  • 相关阅读:
    php发送post请求的方法
    跨域请求的三种解决办法
    php验证码+js点击刷新
    13.mysql数据类型
    12.dateformat常用格式
    11.设计的三大范式
    nginx passwd (http://www.voidcn.com/article/p-suebfyqy-nx.html)
    删除文件 过滤某个文件
    mac必装软件
    elasticsearch 安装
  • 原文地址:https://www.cnblogs.com/blogyuhan/p/9197976.html
Copyright © 2011-2022 走看看