zoukankan      html  css  js  c++  java
  • Hive_分桶抽样查询

    对于非常大的数据集,有时用户需要使用的是一个具有代表性的查询结果而不是全部结果。Hive可以通过对表进行抽样来满足这个需求。

    查询表stu_buck中的数据。

    hive (default)> select * from stu_buck tablesample(bucket 1 out of 4 on id);

    注:tablesample是抽样语句,语法:TABLESAMPLE(BUCKET x OUT OF y) 。

    y必须是table总bucket数的倍数或者因子。hive根据y的大小,决定抽样的比例。

    例如,table总共分了4份,当y=2时,抽取(4/2=)2个bucket的数据,当y=8时,抽取(4/8=)1/2个bucket的数据。

    x表示从哪个bucket开始抽取,如果需要取多个分区,以后的分区号为当前分区号加上y。

    例如,table总bucket数为4,tablesample(bucket 1 out of 2),表示总共抽取(4/2=)2个bucket的数据,抽取第1(x)个和第3(x+y)个bucket的数据。

    注意:x的值必须小于等于y的值,否则

    FAILED: SemanticException [Error 10061]: Numerator should not be bigger than denominator in sample clause for table stu_buck

    学习中,博客都是自己学习用的笔记,持续更新改正。。。
  • 相关阅读:
    spring声明式事务管理详情解析
    Nginx nginx.conf配置文件详细说明
    etcd
    rsyslog使用简介
    LINUX常见命令
    kafka简介&使用
    kafka安装
    Zookeeper简介&应用场景
    Zookeeper安装
    安装JDK
  • 原文地址:https://www.cnblogs.com/Tunan-Ki/p/11807416.html
Copyright © 2011-2022 走看看