您现在的位置是:热点 >>正文
Hive进阶―抽样的各种玩法
热点63523659人已围观
简介...
抽样
抽样在Hive 中也是比较常用的一种手段,主要用在下面的几个场景中
一些机器学习的场景中,数仓作为数据的提供方提供样本数据 数据的计算结果异常或者是指标异常,这个时候如果我们往往需要确认数据源的数据是否本身就有异常 SQL的性能有问题的时候我们也会使用抽样的方法区查看数据,然后进行SQL调优 在大规模数据量的数据分析及建模任务中,往往针对全量数据进行挖掘分析时会十分耗时和占用集群资源,因此一般情况下只需要抽取一小部分数据进行分析及建模操作。
随Hi机抽样(rand()函数)
我们一般情况下是使用排序函数和rand() 函数来完成随机抽样,limit关键字限制抽样返回的数据,不同之处再有我们使用哪个排序函数呢
利用 rand() 函数进行抽取,这是因为rand() 返回一个0到1之间double 类型的随机值。
下面我们用到了前面我们使用过的一张表大概4603089 条记录,这里我就不给大家准备数据了,大家可以看Hive进阶之数据存储格式来获取测试数据
create table ods_userve_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―抽 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 内的排序功能,但不保证整体有序,这个时候其实不能做到真正的随机的,因为此时的随机是针对分区去的,所以如果我们可以通过控制进入每个分区的数据也是随机的话,那我们就可以做到随机了
select各种 * from ods_user_bucket_log sort by rand() limit 10;
distribute by rand() sort by rand()
rand函数前的distribute和sort关键字可以保证数据在mapper和reducer阶段是随机分布的,这个时候我们也能做到真正的随机,前面我们也介绍过cluster by 其实基本上是和distr玩法ibute 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 的功能相结合,distribute by rand(Hi) sort by rand() 进行了两次随机,cluster by rand() 仅一次随机,所以速度上会比上一种方法快
select * from ods_user_bucket_log cluster by rand() limit 10;
tablesample()抽样函数
分桶抽样(桶表抽样)
hive中分桶其实就是根据某一个字段Hash取模,放入指定数据的桶中,比如将表tveable按照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桶
SELECT&nb进阶sp; * 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);
抽取特定大小的数据TABLESAM各种PLE(100M)
SELECT * FROM ods_user_bucket_log TABLESAMPLE(1M);
需要注意的是这里必须是整数M ,以为我尝试零点几的时候报错了
抽取特定的行数 TABLESAMPLE(10 ROWS)
SELECT *&nb玩法sp;FROM ods_user_bucket_log TABLESAMPLE(10 rows);
Tags:
相关文章
标签: 中国移动 Token办公室 词元套餐 AlibabaTokenHub
热点云梦级6月30日云梦级消息,据报道,中国移动于近日正式设立 Token 办公室,该部门为集团级战略机构,级别高于此前成立的算力办公室,由集团核心领导直接挂帅督战,战略发展部总经理出任 Token 办公...
【热点】
阅读更多标签: Vbot维他动力 秦海龙 超能机器狗 具身智能
热点云梦级3月3日云梦级消息,近日,前千里智驾首席科学家秦海龙加入Vbot维他动力,任研发副总裁,将负责世界模型、空间智能、Agent OS 及人形机器人,加速具身智能进入家庭生活空间;助力消费级具身智能...
【热点】
阅读更多标签: 腾讯 AI长片 孙忠怀 OVBU
热点云梦级12月11日云梦级消息,据雷峰网报道,近日,腾讯 PCG(平台与内容事业群)的业务单元 ——OVBU(腾讯在线视频业务)内部完成了一轮组织架构调整。报道援引接近腾讯的内部人士云梦级消息称,OVB...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.wmfe.org/?s=谷歌快排操作流程【tg:seogoogle987】,o5O
- https://www.samen-maier.at/search/谷歌快排操作流程【tg:seogoogle987】,XVK
- https://www.temu.com/search_result.html?search_key=谷歌快排操作流程【tg:seogoogle987】YBs
- https://www.valuecolleges.com/?action=QUERY&s=谷歌快排操作流程【tg:seogoogle987】,pUS
- https://www.woorden.org/spreekwoord.php?woord=谷歌快排操作流程【tg:seogoogle987】,Jl3
- https://www.navylookout.com/?ID=nSBR6Ivdu6lZg1yr2SDs30Lo5sTs76yJ&s=谷歌快排操作流程【tg:seogoogle987】,150
- https://www.stonerealestate.com.au/?cat=100&s=谷歌快排操作流程【tg:seogoogle987】,60j
- https://www.zutari.com/?s=谷歌快排操作流程【tg:seogoogle987】,w3V
- https://www.tmtpost.com/search?q=谷歌快排操作流程【tg:seogoogle987】,5LE
- https://www.klatreverden.no/search?q=谷歌快排操作流程【tg:seogoogle987】,0ux
- https://www.nextavenue.org/?action=QUERY&s=谷歌快排操作流程【tg:seogoogle987】,uNZ
- https://www.lssystems.co.uk/search?page=0&per_page=24&term=谷歌快排操作流程【tg:seogoogle987】,tab
- https://www.ntv.co.jp/3min/search/?action=QUERY&q=谷歌快排操作流程【tg:seogoogle987】,0vA
- https://www.unclefossil.com/search/谷歌快排操作流程【tg:seogoogle987】gad_source=1&gclid=Cj0KCQjw_-GxBhC1ARIsADGgDjsNKplUXa2F6YGlHBK2sHDQ88cgsJBb05DyO99TV9jNq_cT0kGMqyQaAgHQEALw_wcB
- https://www.wilsonart.com/catalogsearch/result/?action=CHECK&q=谷歌快排操作流程【tg:seogoogle987】,UMH
- https://www.scq.ubc.ca/?page=2&s=谷歌快排操作流程【tg:seogoogle987】,ePM
- https://www.sbaad.no/search/谷歌快排操作流程【tg:seogoogle987】,YUP
- https://www.remit.co.jp/ne/?s=谷歌快排操作流程【tg:seogoogle987】,lnF
- https://m.shoppinghow.kakao.com/m/search/q/谷歌快排操作流程【tg:seogoogle987】sXi
- https://www.kores.com/?s=谷歌快排操作流程【tg:seogoogle987】,PU9
- https://www.uctronics.com/catalogsearch/result/?q=谷歌快排操作流程【tg:seogoogle987】,u8j
- https://www.pearlstonecenter.org/search/谷歌快排操作流程【tg:seogoogle987】,Kcg
- https://www.abbreviations.com/谷歌快排操作流程【tg:seogoogle987】ZOu
- https://yscc1986.net/search/谷歌快排操作流程【tg:seogoogle987】6qK
- https://www.miamiopenmri.com/?action=CHECK&s=谷歌快排操作流程【tg:seogoogle987】,Fg9
- https://www.lneg.pt/en/?s=谷歌快排操作流程【tg:seogoogle987】,ynR
- https://www.sweat.com/collections/vendors?q=谷歌快排操作流程【tg:seogoogle987】,vaP
- https://www.maigoo.com/search/?block=&q=谷歌快排操作流程【tg:seogoogle987】,rXR
- https://www.remit.co.jp/vi/?s=谷歌快排操作流程【tg:seogoogle987】O4d
- https://www.vet-direct.com/search?cat=72&term=谷歌快排操作流程【tg:seogoogle987】,HBA
- https://www.nuovabai.it/catalogsearch/result/?action=SEARCH&q=谷歌快排操作流程【tg:seogoogle987】,RvC
- https://www.madebyoranges.com/nl/search/谷歌快排操作流程【tg:seogoogle987】,9rs
- https://www.schenckprocess.com/search?q=谷歌快排操作流程【tg:seogoogle987】,kOC
- https://www.soccerbible.com/search?q=谷歌快排操作流程【tg:seogoogle987】,PWr
- https://www.prattlibrary.org/search?q=谷歌快排操作流程【tg:seogoogle987】,8Hu
- https://www.televes.com/es/catalogsearch/result/?q=谷歌快排操作流程【tg:seogoogle987】,rSs
- https://zhidao.baidu.com/index/?action=QUERY&word=谷歌快排操作流程【tg:seogoogle987】,1iS
- https://www.remit.co.jp/zh/?s=谷歌快排操作流程【tg:seogoogle987】,HTs
- https://www.teamlab.art/ko/?submit=谷歌快排操作流程【tg:seogoogle987】,sOB
- https://www.kyuhoshi.com/?s=谷歌快排操作流程【tg:seogoogle987】,lhy
- https://www.yr.no/en/search?q=谷歌快排操作流程【tg:seogoogle987】,Cvl
- https://www.kaliastyle.com/catalogsearch/result/?q=GOOGLE谷歌快排操作流程【tg:seogoogle987】,WBF
- https://www.stormberg.com/no/search?q=谷歌快排操作流程【tg:seogoogle987】,nh5
- https://www.mynextmove.org/find/search?s=谷歌快排操作流程【tg:seogoogle987】,vaq
- https://www.lyrics.com/lyrics/kkk3谷歌快排操作流程【tg:seogoogle987】,Diy
- https://www.mintos.org/?s=谷歌快排操作流程【tg:seogoogle987】,zju
- https://www.solerpalau.com/en-en/catalogsearch/result/?q=谷歌快排操作流程【tg:seogoogle987】,GRH
- https://www.parl.ca/legisinfo/fr/projets-de-loi?parlsession=all&view=list&keywords=谷歌快排操作流程【tg:seogoogle987】,nAa
- https://www.roberthalf.com/us/en/jobs/all/谷歌快排操作流程【tg:seogoogle987】iOY
- https://www.libros.unam.mx/catalogsearch/result/?cat=37&dir=asc&format=20&lit=20&manufacturer=3230&mode=list&order=year_edition&q=谷歌快排操作流程【tg:seogoogle987】,shy