hsql的抽样查询

hsql的抽样查询,第1张

hsql的抽样查询

目录
    • rank()函数和字段名:
    • 数据块抽样
    • 分桶表的输入裁剪

rank()函数和字段名:

rank函数进行抽样返回的随机值发挥不相等的值,非rank函数进行分桶的话,同一语句多次执行的返回结果是相同的。
注释:number是字段,numbers是表,表只有一个字段number,数值是1-10

select * from numbers TABLESAMPLE(BUCKET 3 OUT OF 10 ON rank()) s;
select * from numbers TABLESAMPLE(BUCKET 3 OUT OF 10 ON number) s;
数据块抽样

hive提供按照抽样百分比进行抽样的方式,这种事基于行数的,按照输入路径下的数据块百分比进行的抽样。

select * from numbers TABLESAMPLE(0.1 PERCENT) s;
分桶表的输入裁剪
select * from numbers where number % 2 = 0;

对于大多数类型的表,抽样会扫描表中的所有数据,然后在每n行中抽取一行数据。不过,如果tablesample语句中指定的列和clustered by语句中指定的列相同,那么tablesample查询就只会扫描涉及到的表的哈希分区的数据。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5635929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存