您现在的位置是:热点 >>正文
Hive进阶―抽样的各种玩法
热点1297人已围观
简介...
抽样
抽样在Hive 中也是比较常用的一种手段,主要用在下面的几个场景中
一些机器学习的场景中,数仓作为数据的提供方提供样本数据 数据的计算结果异常或者是指标异常,这个时候如果我们往往需要确认数据源的数据是否本身就有异常 SQL的性能有问题的时候我们也会使用抽样的方法区查看数据,然后进行SQL调优 在大规模数据量的数据分析及建模任务中,往往针对全量数据进行挖掘分析时会十分耗时和占用集群资源,因此一般情况下只需要抽取一小部分数据进行分析及建模操作。
随Hi机抽样(rand()函数)
我们一般情况下是使用排序函数和rand() 函数来完成随机抽样,limit关键字限制抽样返回的数据,不同之处再有我们使用哪个排序函数呢
利用 rand() 函数进行抽取,这是因为rand() 返回一个0到1之间double 类型的随机值。
下面我们用到了前面我们使用过的一张表大概4603089 条记录,这里我就不给大家准备数据了,大家可以看Hive进阶之数据存储格式来获取测试数据
create table ods_usever_bucket_log( id int, name string, city string, phone string, 进阶 acctime string) CLUSTERED BY (`id` ) INTO 5 BUCKETS row format delimited fields terminated by ' ' stored as&nb―抽sp;textfile; insert overwrite table ods_user_bucket_log select * from ods_user_log;
order by rand()
order by只会启用一个reduce所以比较耗时,至于为什么我们在前面的文章中解释过了Hive语法之常见排序方式
因为order by 是全局的,所以可以做到随机抽样的目的
s样的elect * from ods_user_bucket_log order by rand() limit 10;
sort by rand()
sort by 提供了单个 reducer 内的排序功能,但不保证整体有序,这个时候其实不能做到真正的随机的,因为此时的随机是针对分区去的,所以如果我们可以通过控制进入每个分区的数据也是随机的话,那我们就可以做到随机了
sele各种ct * from ods_user_bucket_log sort by rand() limit 10;
distribute by rand() sort by rand()
rand函数前的distribute和sort关键字可以保证数据在mapper和reducer阶段是随机分布的,这个时候我们也能做到真正的随机,前面我们也介绍过cluster by 其实基本上是玩法和distribute by sort by 等价的
select * from ods_user_bucket_log distribute by rand() sort by rand() limit 10;
cluster by rand()
cluster by 的功能是 distribute by 和 sort by 的功能相结合,distributHie by rand() sort by rand() 进行了两次随机,cluster by rand() 仅一次随机,所以速度上会比上一种方法快
select * from ods_user_bucket_log cluster by rand() limit 10;
tablesample()抽样函数
分桶抽样(桶表抽样)
hive中分桶其实就是根据某一个字段Hash取模,放入指定数据的桶ve中,比如将表table按照ID分成100个桶,其算法是hash(id) % 100,这样,hash(id) % 100 = 0的数据被放到第一个桶中,hash(id) % 100 = 1的记录被放到第二个桶中。
分桶抽样语法:
TABLESAMPLE (BUCKET x OUT OF y [ON colname])
其中x是要抽样的桶编号,桶编号从1开始,colname表示抽样的列(也就是按照那个字段分桶),y表示桶的数量。所以表达的意思是按照colname字段分成y桶,抽取其中的第x桶
S进阶ELECT * FROM ods_user_bucket_log TABLESAMPLE (BUCKET 1 OUT OF 100000 ON rand()) ;
数据块抽样
从 Hive 0.8 开始提供块抽样,使用 tablesample 抽―抽取指定的 行数/比例/大小
SELECT * FROM ods_user_data TABLESAMPLE(1000 ROWS); SELECT * FROM ods_user_data TABLESAMPLE (20 PERCENT); SELECT * FROM ods_user样的_data TABLESAMPLE(1M);
按比例抽样 ABLESAMPLE (20 PERCENT)
这将允许 Hive 至少获取 n%的数据
SELECT * FROM ods_user_bucket_log TABLESAMPLE(0.0001 PERCENT);
抽取特定各种大小的数据TABLESAMPLE(100M)
SELECT * FROM ods_user_bucket_log TABLESAMPLE(1M);
需要注意的是这里必须是整数M ,以为我尝试零点几的时候报错了
抽取特定的行数 TABLESAMPLE(10 ROWS)
SELECT  玩法; * FROM ods_user_bucket_log TABLESAMPLE(10 rows);
Tags:
相关文章
标签: Meta RealityLabs VR 人工智能
热点云梦级3月26日云梦级消息,据外媒 The Verge 报道,Meta 正在推进新一轮裁员,主要涉及公司多个核心部门,包括招聘、社交媒体、销售团队,以及负责 VR 与智能眼镜研发的 Reality L...
【热点】
阅读更多云计算开发:Python内置函数-zip()函数详解
热点描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符...
【热点】
阅读更多标签: 保时捷 祖文豪森 魏斯阿赫 迈克尔·莱特斯
热点云梦级7月6日云梦级消息,据德国《商报》报道,知情人士透露,保时捷正考虑在其位于祖文豪森(Zuffenhausen)的工厂再裁减多达 4000 个岗位。此前该公司已同意削减 3900 个岗位。 报道称...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.posten-portal.de/search?query=谷歌搜索留痕【tg:seogoogle987】,vxo
- https://www.springfieldlibrary.org/library/?s=谷歌搜索留痕【tg:seogoogle987】,lea
- https://www.therapeuticassociates.com/?cat=5&s=谷歌搜索留痕【tg:seogoogle987】,G1y
- https://www.sic-info.org/vi/?s=谷歌搜索留痕【tg:seogoogle987】,udQ
- https://www.nextavenue.org/?action=QUERY&s=谷歌搜索留痕【tg:seogoogle987】,f07
- https://www.mesec.cz/vyhledavani/?qs=谷歌搜索留痕【tg:seogoogle987】,Uo0
- https://www.seagrant.wisc.edu/?page=63&s=谷歌搜索留痕【tg:seogoogle987】,xil
- https://wwwcp.umes.edu/search/谷歌搜索留痕【tg:seogoogle987】,3ht
- https://www.nissin.com/jp/search/?cat=105&q=谷歌搜索留痕【tg:seogoogle987】,kJU
- https://www.parriscues.com/catalogsearch/result/?q=谷歌搜索留痕【tg:seogoogle987】,pGU
- https://www.merchbar.com/search?q=谷歌搜索留痕【tg:seogoogle987】,zOt
- https://www.ucycle.com/search/=谷歌搜索留痕【tg:seogoogle987】,vlZ
- https://www.wattpad.com/search/谷歌搜索留痕【tg:seogoogle987】Ite
- https://www.mygrandma.com/Items.aspx?search=谷歌搜索留痕【tg:seogoogle987】,5TX
- https://www.thedp.com/page/search?q=谷歌搜索留痕【tg:seogoogle987】,nf5
- https://www.solerpalau.com/en-en/catalogsearch/result/?q=谷歌搜索留痕【tg:seogoogle987】,OOa
- https://www.skicheck.at/en/?action=CHECK&s=谷歌搜索留痕【tg:seogoogle987】,v5v
- https://dict.naver.com/dict.search?dicQuery&query=谷歌搜索留痕【tg:seogoogle987】UR0
- https://www.impactpool.org/search/?type=79&q=谷歌搜索留痕【tg:seogoogle987】1ZH
- https://yokohama-oht.com/?action=CHECK&s=谷歌搜索留痕【tg:seogoogle987】,66j
- https://www.tmtpost.com/search?q=谷歌搜索留痕【tg:seogoogle987】,bI2
- https://www.pacific-lifestyle.co.uk/search?sort=alphabetical&term=谷歌搜索留痕【tg:seogoogle987】,nxV
- https://www.seforall.org/search?keywords=谷歌搜索留痕【tg:seogoogle987】,xqF
- https://www.lneg.pt/?cat=140&s=谷歌搜索留痕【tg:seogoogle987】,3Zo
- https://www.nctsn.org/search?cat=191&query=谷歌搜索留痕【tg:seogoogle987】,iz7
- https://www.lifesciencesweden.se/search?q=谷歌搜索留痕【tg:seogoogle987】,1ag
- https://www.navylookout.com/?ID=nSBR6Ivdu6lZg1yr2SDs30Lo5sTs76yJ&s=谷歌搜索留痕【tg:seogoogle987】,1EN
- https://www.lee.com/search?q=谷歌搜索留痕【tg:seogoogle987】,3fu
- https://www.target.com/s?searchTerm=谷歌搜索留痕【tg:seogoogle987】,73C
- https://www.kores.com/?s=谷歌搜索留痕【tg:seogoogle987】,yp1
- https://www.goodreads.com/quotes/tag/谷歌搜索留痕【tg:seogoogle987】MsJ
- https://www.l-and-b.jp/?page=1&s=谷歌搜索留痕【tg:seogoogle987】,sE6
- https://www.nonsolocap.it/cap?action=SEARCH&k=谷歌搜索留痕【tg:seogoogle987】,dZF
- https://www.silentiumpc.com/en/search/谷歌搜索留痕【tg:seogoogle987】,xKg
- https://www.rockngem.com/?action=CHECK&s=谷歌搜索留痕【tg:seogoogle987】,mJ1
- https://www.lyrics.com/lyrics/kkk3谷歌搜索留痕【tg:seogoogle987】,TWV
- https://www.resilienz-akademie.com/?cat=71&s=谷歌搜索留痕【tg:seogoogle987】,ZkT
- https://www.openstreetmap.org/search?query=谷歌搜索留痕【tg:seogoogle987】,R7Y
- https://www.stonerealestate.com.au/?cat=100&s=谷歌搜索留痕【tg:seogoogle987】,gPF
- https://store.line.me/search/sticker/ja?q=谷歌搜索留痕【tg:seogoogle987】Ahf
- https://www.xvideos.com/tags/谷歌搜索留痕【tg:seogoogle987】,KiQ
- https://www.ncetm.org.uk/search?action=CHECK&q=谷歌搜索留痕【tg:seogoogle987】,51R
- https://www.remit.co.jp/en/?s=谷歌搜索留痕【tg:seogoogle987】,NdI
- https://www.shopping.com/search.html?keyword=谷歌搜索留痕【tg:seogoogle987】,zl4
- https://www.wuv.edu/?s=谷歌搜索留痕【tg:seogoogle987】,1zz
- https://zhidao.baidu.com/index/?action=QUERY&word=谷歌搜索留痕【tg:seogoogle987】,aBK
- https://www.lechzuers.com/de/search?cat=163&q=谷歌搜索留痕【tg:seogoogle987】,3l1
- https://www.terramania.nl/catalogsearch/result/index/?q=谷歌搜索留痕【tg:seogoogle987】,RYz
- https://www.smics.com/tc/site/search?token=谷歌搜索留痕【tg:seogoogle987】,LPE
- https://www.maigoo.com/search/?block=&q=谷歌搜索留痕【tg:seogoogle987】,ke3