hive提取html里的值,Hive 数据抽样的几种方法

在大数据分析中,为节省资源,通常采用数据抽样。本文介绍了Hive的四种抽样方法:块抽样、分桶表抽样、随机抽样及其变体。块抽样速度快但非随机;分桶表抽样提供随机性且效率较高;通过rand()函数的随机抽样方法虽随机但速度较慢,通过优化如distribute by和cluster by能提升效率。最后讨论了如何在随机抽样中保留分区信息。
摘要由CSDN通过智能技术生成

在大规模数据量的数据分析及建模任务中,往往针对全量数据进行挖掘分析时会十分耗时和占用集群资源,因此一般情况下只需要抽取一小部分数据进行分析及建模操作。本文就介绍

块抽样(Block Sampling)

CREATE TABLE iteblog AS SELECT * FROM iteblog1 TABLESAMPLE(1000 ROWS);

CREATE TABLE iteblog AS SELECT * FROM iteblog1 TABLESAMPLE (20 PERCENT);

CREATE TABLE iteblog AS SELECT * FROM iteblog1 TABLESAMPLE(1M);

缺点:不随机。该方法实际上是按照文件中的顺序返回数据,对分区表,从头开始抽取,可能造成只有前面几个分区的数据。

优点:速度快。

分桶表抽样 (Smapling Bucketized Table)

利用分桶表,随机分到多个桶里,然后抽取指定的一个桶。举例:随机分到10个桶,抽取第一个桶。 CREATE TABLE iteblog AS SELECT * FROM iteblog1 TABLESAMPLE (BUCKET 1 OUT OF 10 ON rand());

优点:随机,测试发现,速度比方法3的rand()快。

随机抽样

原理:利用 rand() 函数进行抽取,rand() 返回一个0到1之间的 double 值。

使用方法一 CREATE TABLE iteblog AS

SELECT * FROM iteblog1

ORDER BY rand()

limit 10000

此时&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值