您的位置:IT爆料网 > 互联网

Hive进阶―抽样的各种玩法

发布时间:2023-01-03 10:19:25  来源:互联网     背景:

 

抽样

抽样在Hive 中也是比较常用的一种手段,主要用在下面的几个场景中

一些机器学习的场景中,数仓作为数据的提供方提供样本数据 数据的计算结果异常或者是指标异常,这个时候如果我们往往需要确认数据源的数据是否本身就有异常 SQL的性能有问题的时候我们也会使用抽样的方法区查看数据,然后进行SQL调优 在大规模数据量的数据分析及建模任务中,往往针对全量数据进行挖掘分析时会十分耗时和占用集群资源,因此一般情况下只需要抽取一小部分数据进行分析及建模操作。

随机抽样(rand()函数)

我们一般情况下是使用排序函数和rand() 函数来完成随机抽样,limit关键字限制抽样返回的数据,不同之处再有我们使用哪个排序函数呢

利用 rand() 函数进行抽取,这是因为rand() 返回一个0到1之间double 类型的随机值。

下面我们用到了前面我们使用过的一张表大概4603089 条记录,这里我就不给大家准备数据了,大家可以看Hive进阶之数据存储格式来获取测试数据

create table ods_user_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 是全局的,所以可以做到随机抽样的目的

select * 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 其实基本上是和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 的功能相结合,distribute by rand() sort by rand() 进行了两次随机,cluster by rand() 仅一次随机,所以速度上会比上一种方法快

select * from ods_user_bucket_log cluster by rand() limit 10; 

tablesample()抽样函数

分桶抽样(桶表抽样)

hive中分桶其实就是根据某一个字段Hash取模,放入指定数据的桶中,比如将表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桶

SELECT     * 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); 

 


本文标题:Hive进阶―抽样的各种玩法 - 互联网
本文地址:www.itbaoliao.com/hlw/17533.html

返回网站首页

本文评论
新飞飞长腿MM叫板北体长腿达人孔燕松
说到北体的长腿mm孔燕松应该无人不知无人无人不晓吧!这位以长腿著称的mm红遍了整个网络,117cm的腿长确实是十分惊人!新飞飞街拍大赛,无数潮人参加,这可是时尚的大基地,在这个大基地里面什么潮爆奇人都有!恰好,这里惊现...
日期:11-22
315晚会曝光名单公布 历届315晚会曝光看点回顾
一年一度的3.15,对很多中国企业或者在中国经营的外资企业来说,都是一个提心吊胆的日子。没错,现在的3.15晚会已经成为了一种惯例,在晚会上,会有各个领域的企业或经营者由于违反了消费者权益保护法,被3.15晚会无情曝光。在今年我们怀着“猜猜今年谁被曝光”的心情迎接2018年3.15晚会之前,我们一起来看看以往都有哪些科技企业出现在了黑名单上。...
日期:12-30
专业精美海报制作Phoster限免
Phoster是一款10年上架的应用,距今已有4年历史,上次限免还是一年以之前,Phoster 可以贴切快捷的帮用户做出不同主题的海报,你甚至可以将海报打印出来,或是通过微博发布出去。上架之初,小编就以全价买下来,非常喜欢它提供给我的内容,本次限免千万别错过。...
日期:11-09
小说阅读网A签作家灵猫香:做一个幸福的读书人,从拥有Bambook开始
Bambook是盛大精心打造的电子书2.0产品,采用最高配置的E Ink电子墨水屏,提供如纸张一般的阅读体验,支持多种联网方式。不仅如此,Bambook 实现了与盛大文学云中书城的无缝对接,使读者能很方便地享受到阅读、分享和交流...
日期:10-21
网民智慧集体爆发 新浪微博成3Q体盛行平台
一场历时已久的互联网大战,在11月3日迎来了全面升级。11月3日18点,腾讯发布致用户公开信,宣传“刚刚作出了一个非常艰难的决定。在360公司停止对QQ进行外挂侵犯和恶意诋毁之前,我们决定将在装有360软件的电脑上停止运行...
日期:12-11
肉类不宜反复解冻:解冻次数越多 致癌物质越多
肉类不宜反复解冻:细菌飙升 居然会致癌! 网上流传肉类反复冷冻解冻后,会加快肉类腐败变质,增加细菌含量的说,目前得到了证实。央视记者在实验室,将从市场上买来的鲜肉,在五天中经过反复四次冷冻和解冻后,最后测得的结果,前后细菌飙升15倍,令人心惊。...
日期:12-24
《莎木1+2》高清合集公布发售日   游戏语言包含简体中文
在世嘉公司庆祝MD发售三十周年纪念时,官方曾经公布将要对经典游戏《莎木》进行高清重制,并将把1、2两代作品以合集的方式推出。昨日这款游戏的发售时间遭到了微软商店的曝光,而在今天官方正式公布了游戏的发售时间。...
日期:01-01
京东方否认合作 与三星合作传闻不实
IT之家5月10日消息近日,有媒体报道称京东方将于韩国面板厂Samsung Display进行战略合作,据报道,三星Samsung Display会帮助京东方提升10.5代线产能,京东方将为三星提供60%成本价的面板。今天,京...
日期:10-19
Sigmatel欲肃清异己 优百特声援珠海炬力
天极Chinabyte 7月7日消息(记者 赵宇)“这是竞争对手恶意扭曲现实,胁迫国内厂商就范。”尽管身处Sigmatel起诉珠海炬力涉嫌侵权案件的敏感期,但珠海炬力首席执行官叶南宏对近期多家国内厂商接二连三地被Sigmat...
日期:11-13
网秦首推“网秦空间” 全线布局移动云战略
您是否有过这样的设想,可以实现手机与电脑无障碍穿越,实时管理手机中的联系人、同步日程,而在手机丢失后,通过PC远程定位手机位置,进而发送防盗指令……如今,这些曾经在科幻电影中反复出现的情节已经成为了现实。近日,...
日期:11-20
朱广权段子版春节祝福:朗朗上口,寓意很好,立意新颖,很高级
【TechWeb】2月12日消息,大年初一,央视节目主持人朱广权在节目中为观众送上牛年第一条春节祝福 :新的一年,三餐四季、温柔有趣、牛年日日奔红火,天天大吉大利!天是2021初一,段子手朱广权又来啦。今年他说了一段段子版的拜年文案。文案朗...
日期:12-04
Android2.2系统 魅族国产神机M9评测
评测前言:时隔一日,在带来国产神机魅族M9娱乐评测后,今天为大家奉献上的是关于这款手机的详细评定。09年初,谷歌Android系统在市场中兴起,而201...
日期:12-13
《石器2》疯狂内测今日15点燃情开启
由广东胜思网络科技运营及后续开发的经典后续之作——《石器时代2》,于今天(6月17日)15:00正式燃情开启!为了欢迎广大新老“原始人”的加入,官方特别准备了“245”三个数字,誓要为各位带来更多激情、更多惊喜!赶快进...
日期:11-26
百度股价大涨8% AI商业化摁下加速键
10月14日,百度收盘股价涨超7%,收盘价报136.07美元,盘中股价最大涨幅一度扩大至8%,创下近几个月来的涨幅小高峰。分析人士指出,百度利好不断,AI商业化摁下加速键是股价上涨的主要催化剂。一方面,Robotaxi在北京全面开放,自动驾...
日期:12-10
三星Galaxy S10/S10+官图公布:挖孔屏+后置三摄
三星将于2月20日在美国旧金山正式举办Galaxy新品发布会,推出此前已被频繁曝光的开年旗舰Galaxy S10系列机型。现在有最新消息,近日,知名爆料人士Roland Quandt带来了三星Galaxy S10系列官方渲染图,果然姜还是老的辣。...
日期:11-27
愤怒之门预览 这是一个新时代
著名的WoW TCG魔兽世界集换式卡牌游戏在经历了一次动荡的风波后,终于由暴雪公司确立了最新的合作伙伴:卡牌客娱乐。而国内由于北京新锐地带的第一时间续约大陆地区总代理,也使得中国玩家得以第一时间跟上全球的节奏。  拥...
日期:11-25
当当网称公章已作废:从摔杯到抢章 李国庆一直在制造事端
4月27日消息 4月26日深夜,当当网再发声明以及内部信回应李国庆抢当当公章一事,声明称,今天早晨,李国庆带着4个穿黑衣的人,突入闯入当当办公区,现场保安阻拦不及,李国庆动手抢走几十枚公章、财务章,留下自己事先写好的“收据”。...
日期:10-04
LOL2016IEM第11赛季赛程公布 总奖金一百万美金
LOL2016IEM第11赛季赛程公布 总奖金一百万美金。IEM赛事官方今天宣布,IEM第11赛季的比赛将在全球举办四站,总奖金池高达一百万美金。...
日期:11-18
《童话二分之一》同名电子书梦幻上市
湖南卫视年度爱情、商战、悬疑偶像大戏《童话二分之一》开播在即,该剧的同名小说也已由中文在线数字出版,并在中国移动手机阅读独家首发。即刻编辑短信“搜童话二分之一”发送至10658080,四角错爱、换位人生、商战潜行、无间对决的人生悲喜剧尽在书...
日期:01-02
按照心跳数值变换透明度 透明裙子引领科技风潮
一到夏天,女孩子们就回纷纷穿上清爽舒适的裙子。而日前一名荷兰设计师,就设计了一款外形奇特,并且可以自行变换透明度的裙子。据了解,这款设计在曝光之后一度引起了极大争议,下面就让我们一起来领略一下这一异想天开的杰作吧。...
日期:12-20