环球即时看!大数据Kylin(六):Kylin构建Cube算法
2023-03-14 02:15:38 来源:腾讯云
Kylin构建Cube算法
Kylin中Cube的思想是用空间换时间, 通过预先的计算,把索引及结果存储起来,以换取查询时候的高性能。在Kylin v1.5以前,Kylin中的Cube只有一种算法:layered cubing,也称逐层算法,它是逐层由底向上,把所有组合算完的过程。Kylin v1.5以后,推出Fast Cubing,也称快速数据立方算法,是一个新的Cube算法。
一、layered cubing
1、基于MR
这个算法的对cube的计算就像它的名字一样是按layer进行的。
以一个n维cube(即事实表有n个维度)为例:
(相关资料图)
player-1:以source data(源数据)为基础计算出一个n维的cuboid;
player-2:以上一层的n维cuboid维基础,计算出n个n-1维的cuboid;
... ...
player-k+1:以上一层的n-k+1维cuboid为基础,计算出n!/[(n-k)!k!]=个n-k维的cuboid;
... ...
player-n+1:以上一层的1维cuboid为基础,计算出1个0维的cuboid。
如下图:
用官网上一个4维cube的例子来说明一下具体过程。
在player-1,根据源数据得到1个4-D的cuboid;然后cong中任意取出三个维度得到4个3-D cuboids;接着从3-D cuboids出发,任意取出其中两个维度得到6个2-D cuboids;再以2-D cuboids为基础,任意取出其中一个维度得到4个1-D cuboids;最后根据1-D cuboids 计算出一个0-D cuboid。
此算法的Mapper和Reducer都比较简单。Mapper以上一层Cuboid的结果(Key-Value对)作为输入。由于Key是由各维度值拼接在一起,从其中找出要聚合的维度,去掉它的值成新的Key,并对Value进行操作,然后把新Key和Value输出,进而Hadoop MapReduce对所有新Key进行排序、洗牌(shuffle)、再送到Reducer处;Reducer的输入会是一组有相同Key的Value集合,对这些Value做聚合计算,再结合Key输出就完成了一轮计算。
优点:这个算法的原理很清晰,主要就是利用了MR,sorting、grouping、shuffing全部由MR完成,开发人员只需要关注cubing的逻辑,由于hadoop的成熟,该算法的运行很稳定。
缺点:cube的维度越高,需要的MR任务越多(n-D cube 至少需要n 个MR)太多的shuffing操作(mapper端不做聚合,所有在下一层中具有相同维度的值有combiner 和reducer聚合),对hdfs读写比较多(每一层MR的结果会写到hdfs然后下一层MR从hdfs 读取数据)。
2、基于Spark
“by-layer” Cubing把一个大任务划分为许多步骤,每一步骤的计算依赖于上一个步骤的输出结果,所以当某一个步骤的计算出现问题时,可以再次读取上一步骤的结果重新计算,而不用从头开始。使得“by-layer” Cubing算法稳定可靠,当换到spark上时,便保留了这个算法。因此在spark上这个算法也被称为“By layer Spark Cubing”。
如上图所示,与在MR上相比,每一层的计算结果不再输出到hdfs,而是放在RDD中。由于RDD存储在内存中,从而有效避免了MR上过多的读写操作。
性能对比:
二、Fast cubing
快速Cube算法(Fast Cubing)是麒麟团队对新算法的一个统称,它还被称作“逐段”(By Segment) 或“逐块”(By Split) 算法。
该算法的主要思想是,对Mapper所分配的数据块,将它计算成一个完整的小Cube 段(包含所有Cuboid);每个Mapper将计算完的Cube段输出给Reducer做合并,生成大Cube,也就是最终结果;下图解释了此流程。新算法的核心思想是清晰简单的,就是最大化利用Mapper端的CPU和内存,对分配的数据块,将需要的组合全都做计算后再输出给Reducer;由Reducer再做一次合并(merge),从而计算出完整数据的所有组合。如此,经过一轮Map-Reduce就完成了以前需要N轮的Cube计算。
在Mapper内部也可以有一些优化,下图是一个典型的四维Cube的生成树;第一步会计算Base Cuboid(所有维度都有的组合),再基于它计算减少一个维度的组合。基于parent节点计算child节点,可以重用之前的计算结果;当计算child节点时,需要parent节点的值尽可能留在内存中; 如果child节点还有child,那么递归向下,所以它是一个深度优先遍历。当有一个节点没有child,或者它的所有child都已经计算完,这时候它就可以被输出,占用的内存就可以释放。
如果内存够的话,可以多线程并行向下聚合。如此可以最大限度地把计算发生在Mapper这一端,一方面减少shuffle的数据量,另一方面减少Reducer端的计算量。
优点:总的IO量比以前大大减少。此算法可以脱离Map-Reduce而对数据做Cube计算,故可以很容易地在其它场景或框架下执行,例如Streaming 和Spark。
缺点:代码比以前复杂了很多,由于要做多层的聚合,并且引入多线程机制,同时还要估算JVM可用内存,当内存不足时需要将数据暂存到磁盘,所有这些都增加复杂度。对Hadoop资源要求较高,用户应尽可能在Mapper上多分配内存;如果内存很小,该算法需要频繁借助磁盘,性能优势就会较弱。在极端情况下(如数据量很大同时维度很多),任务可能会由于超时等原因失败。
三、算法选择
用户无需担心使用什么算法构建cube,Kylin会自动选择合适的算法。Kylin在计算Cube之前对数据进行采样,在“fact distinct”步,利用HyperLogLog模拟去重,估算每种组合有多少不同的key,从而计算出每个Mapper输出的数据大小,以及所有Mapper之间数据的重合度,据此来决定采用哪种算法更优。
如果每个Mapper之间的key交叉重合度较低,fast cubing更适合;因为Mapper端将这块数据最终要计算的结果都达到了,Reducer只需少量的聚合。另一个极端是,每个Mapper计算出的key跟其它 Mapper算出的key深度重合,这意味着在reducer端仍需将各个Mapper的数据抓取来再次聚合计算;如果key的数量巨大,该过程IO开销依然显著。对于这种情况,Layered-Cubing更适合。在对上百个Cube任务的时间做统计分析后,Kylin选择了7做为默认的算法选择阀值(参数kylin.cube.algorithm.auto.threshold):如果各个Mapper的小Cube的行数之和,大于reduce后的Cube行数的8倍(各个Mapper的小Cube的行数之和 /reduce后的Cube行数 > 7),采用Layered Cubing, 反之采用Fast Cubing(本质就是各个Mapper之间的key重复度越小,就用Fast Cubing,重复度越大,就用Layered Cubing)标签:
相关阅读
- (2023-03-14)环球即时看!大数据Kylin(六):Kylin构建Cube算法
- (2023-03-13)全球百事通!今天最新消息 香港艺术馆推出近年最大规模的巴洛克艺术展
- (2023-03-13)星帅尔:华锦电子生产的光通信、光传感器组件产品应用范围较广
- (2023-03-13)金安国纪:子公司承德天原药业有限公司盛禾中药材种植基地占地1700多亩 世界信息
- (2023-03-13)友阿股份:目前公司涵盖了五大洲数十个国家的万种进口热销商品_全球报道
- (2023-03-13)时讯:浙农股份:公司将一如既往做好化肥、农药等农业投入品配供服务工作
热点推荐
- (2023-03-14)环球即时看!大数据Kylin(六):Kylin构建Cube算法
- (2023-03-14)架构设计的问题与解法
- (2023-03-13)全球百事通!今天最新消息 香港艺术馆推出近年最大规模的巴洛克艺术展
- (2023-03-13)电脑开机自启动在哪里设置的_电脑开机自启动在哪里设置|全球热点评
- (2023-03-13)星帅尔:华锦电子生产的光通信、光传感器组件产品应用范围较广
- (2023-03-13)金安国纪:子公司承德天原药业有限公司盛禾中药材种植基地占地1700多亩 世界信息
- (2023-03-13)友阿股份:目前公司涵盖了五大洲数十个国家的万种进口热销商品_全球报道
- (2023-03-13)时讯:浙农股份:公司将一如既往做好化肥、农药等农业投入品配供服务工作
- (2023-03-13)万事利:公司正在积极探索现有的个性化定制丝巾业务的运营模式在元宇宙和NFT方面的应用
- (2023-03-13)天天讯息:河南唐河县大河屯镇将优化营商环境举措落细落实
- (2023-03-13)朝天“工业强区”步履铿锵
- (2023-03-13)天天微速讯:小店遇春风 盈利又惠民
- (2023-03-13)枣林皮蛋敲响山乡致富门|当前热讯
- (2023-03-13)【世界热闻】“中国无腿登顶珠峰第一人”夏伯渝打卡婺源江岭
- (2023-03-13)鲁北化工:子公司锦亿科技2月中旬短暂停车原因为装置临时检修 现已恢复正常生产_全球新视野
- (2023-03-13)全球今头条!“中”字头公司短期靠估值提升,长期需更多政策落地和经营效率改善
- (2023-03-13)数据通|机构资金再次流入软硬件与通信板块,浪潮信息居A股之首 全球聚焦
- (2023-03-13)京东超市推出史上最大力度商家扶持举措 低价可获更高流量 个人和个体工商户均可开店
- (2023-03-13)京东赴新西兰进行“原产地探访” 获颁佳沛集团“卓越合作伙伴”称号
- (2023-03-13)环球消息!抗击甲流!珍宝岛复方芩兰口服液获一些地方用药目录推荐
- (2023-03-13)问卷调查法的缺点包括_问卷调查法的优缺点
- (2023-03-13)新消息丨打开网页不是最大化的窗口(打开网页不是最大化)
- (2023-03-13)聚焦IPO | 星星冷链上市前高额分红引发争议,成长性不足、商誉减值风险令人担忧 全球报资讯
- (2023-03-13)世界快播:宜安科技:新生智能家居不是公司子公司
- (2023-03-13)环球精选!乔治白:公司已中标建设银行全行营业网点员工职业装制作项目
- (2023-03-13)全国政协委员王百森:应按需安排成品油出口配额总量-热点评
- (2023-03-13)红旗连锁:公司已于去年底投资设立子公司 并在今年1月开设直播卖货-全球焦点
- (2023-03-13)天喻信息:公司开发的软件主要应用在金融、通信与物联网等领域
- (2023-03-13)【独家焦点】中国长城:中电长城的企业业务部主要开展行业信创相关业务
- (2023-03-13)天天视讯!浩物股份:鹏翔投资旗下4S店已陆续开展降价补贴等活动
- (2023-03-13)金安国纪:天原药业的盛禾中药材种植基地占地1700多亩
- (2023-03-13)环球最资讯丨未央今日播报:蚂蚁消金百亿增资完成;Signature Bank被纽约监管当局关闭
- (2023-03-13)每日信息:隆基绿能:投资建设鄂尔多斯年产30GW高效单晶电池项目
- (2023-03-13)眼霜到底是不是“智商税”?
- (2023-03-13)无惧海外“黑天鹅”!恒生科技指数高开高走大涨4.4%
- (2023-03-13)中消协:超四成农村消费者在当地市场买到假冒伪劣产品 天天观点
- (2023-03-13)探访浦发硅谷银行北京分行:可正常开户,需许可才能进入|天天热文
- (2023-03-13)拓新药业:公司原料药利巴韦林生产销售正常_天天播报
- (2023-03-13)当前关注:富乐德:公司在硅谷银行无存款
- (2023-03-13)ems周末休息吗?ems和顺丰哪个快?
- (2023-03-13)晚上摆地摊卖什么好?投资小见效快的生意有哪些?
- (2023-03-13)浙江赟迪资产管理有限公司脚踏实地做国民经济支柱
- (2023-03-13)黄色新款iPhone 14发售即降价 手机市场消费持续升温
- (2023-03-13)百纳千成:《观复猫》预计将于2023年二季度在抖音平台上线-世界微速讯
- (2023-03-13)环球看热讯:永顺泰:公司的销售区域分布与啤酒消费的主要市场以及公司生产基地的布局相匹配
- (2023-03-13)元隆雅图:公司是杭州亚运会特许零售商 正在开展杭州亚运会相关特许产品的销售 当前速看
- (2023-03-13)兴业科技:公司通过收购宏兴汽车皮革快速切入汽车内饰皮革市场
- (2023-03-13)the same as的常见用法(the same as)
- (2023-03-13)经济复苏预期逐步兑现,易方达上证50增强一键配置优质龙头股_速读
- (2023-03-13)焦点速看:康斯特:公司国际业务由美国子公司对外销售 执行税率绝大多数为25%
- (2023-03-13)最新资讯:汉威科技:公司在呼吸机、制氧机等相关医疗产品上均有市场布局
- (2023-03-13)科隆股份:公司锂电池电解液拥有年产1万吨产能 纳米二氧化铈在中试客户测评样品阶段 全球今头条
- (2023-03-13)容大感光:公司半导体光刻胶主要是指g/i线正性光刻胶、负性光刻胶及配套的化学品
- (2023-03-13)环球播报:世名科技:岳阳凯门目前已与多家下游客户建立了合作关系 具有较高市场占有率
- (2023-03-13)招银国际研报给予中手游买入评级 目标价3.52港元
- (2023-03-13)赛党课 比特色 展风采 播报
- (2023-03-13)油菜花里藏“丰年”
- (2023-03-13)【速看料】竹里萤光耀天府
- (2023-03-13)坚守“三农”初心 助力产业园区建设 当前聚焦
- (2023-03-13)世界观察:警银联动共筑反洗钱 防诈骗新防线
- (2023-03-13)每日看点!天润工业:2月、3月公司产品(包括空悬产品)市场需求及订单有所增加
- (2023-03-13)硅谷银行破产影响几何?风险是否可控?十大券商解读|环球速讯
- (2023-03-13)出境游热度持续攀升,出行板块复苏稳健 环球实时
- (2023-03-13)粤桂股份:公司已成立ESG报告领导小组和工作小组|每日速看
- (2023-03-13)世界时讯:中国旅游正全力以“复”
- (2023-03-13)画花的简笔画画法_画花的简笔画
- (2023-03-13)2023沈阳清明节景区活动汇总_快资讯
- (2023-03-13)扬子石化航煤产品实现管路输送 全球今日讯
- (2023-03-13)今热点:两会特刊 | 全国人大代表蒲长文:带着乡村振兴梦出发
- (2023-03-13)两会特刊 | 全国人大代表黄蕾:服务手段更智慧 服务能力更高效_世界速看
- (2023-03-13)世界热文:岭南股份:今年公司已中标东莞市三江六岸滨水岸线示范段项目二期工程项目等
- (2023-03-13)全球微资讯!创意信息:公司与地面三大通信运营商均有合作
- (2023-03-13)每日聚焦:两会特刊 | 全国人大代表陈晓拴:强化金融服务意识 扶持涉农经营主体
- (2023-03-13)环球快报:两会连线——挖掘弘扬优秀工业文化 增强中华文明传播力影响力
- (2023-03-13)两会连线——对话刘永好委员:如何提振民营企业发展信心-世界时快讯
- (2023-03-13)信维通信:目前境外的终端客户以北美、欧洲、韩国、日本等地区为主
- (2023-03-13)天天微头条丨中国铁物:目前公司已开展商品车出口国际物流业务
- (2023-03-13)天地在线:截至目前公司持有世优科技5%的股权
- (2023-03-13)环球新消息丨微博与B站,变现“难兄难弟”
- (2023-03-13)什么牌子的睫毛膏好用?什么牌子的睫毛增长液效果好?
- (2023-03-13)飞机坠毁前人的痛苦有多大?mu5735坠毁逝世者会痛苦吗?
- (2023-03-13)韩红结婚了吗?韩红父亲韩德江简介
- (2023-03-13)蒋劲夫退出演艺圈原因是什么?蒋劲夫现在还在拍戏吗?
- (2023-03-13)模塑科技:公司参股公司北汽模塑为小米汽车供应商
- (2023-03-13)银轮股份:公司在热泵领域已与一批头部客户形成配套合作
- (2023-03-13)神州信息“天昊”平台助力多家银行提升中小微信贷业务能力
- (2023-03-13)快看:创新推动高质量发展 健康元首席科学家金方博士出席十四届全国人大一次会议
- (2023-03-13)雅创电子:公司已量产产品均已通过AEC-Q100车规级认证
- (2023-03-13)“提前还贷潮”余波:监管出手整顿非法中介,恐有银行将遭重罚|新视野
- (2023-03-13)红塔区经济局_关于红塔区经济局介绍-天天微资讯
- (2023-03-13)【天天报资讯】又一家!美媒:美监管机构以“系统性风险”为由宣布关闭签名银行
- (2023-03-13)媒体曝拜登政府批准阿拉斯加州石油开采项目,白宫否认:未作最终决定
- (2023-03-13)中国石油辽阳石化分公司教授级高级工程师李贵合代表:构建“产学研用”一体化协同创新机制
- (2023-03-13)天天信息:成本高、回报低,CCUS产业如何破局?对话全国人大代表聂晓炜
- (2023-03-13)1611亿美元!沙特石油巨头阿美利润创纪录,同比增长46.5%-世界视讯
- (2023-03-13)今日快看!青海油田原油日产量较年初增加100余吨
- (2023-03-13)【报资讯】工业互联 产业赋能 生态协同丨软通动力工业互联网创新发展高峰论坛成功举办
- (2023-03-13)每日头条!富国量化投资“顶流”领衔 创业板ETF增强今日首发
- (2023-03-13)虚实融合当道,数字零售新红利开始释放 环球焦点
- (2023-03-13)台湾民众买24颗鸡蛋花了400块 台湾说大陆吃不起茶叶蛋是什么时候?