数据分布倾斜性指的是数据分布过度集中于数据空间的某端,造成“头重脚轻”或者“比萨斜塔”等不均匀的分布特点。数据分布倾斜性将造成运算效率上的“瓶颈”和数据分析结果的“以偏概全”。
效率上的“瓶颈”
假如在大型商场中,共有A,B1,B2…..B9十家店铺,其中A店铺中有99W商品,B1,B2….B9这九家店铺分别有1W商品。我们要统计商场中商品总数,计算初,采用HASHMAP作为存储结构,其中Key:店铺 Value:商品。我们的计算过程是先统计每个店铺的商品总数,最后将结果累加。可以发现,由于A有99W商品,按照1+1的累积方式(假如1+1耗时1秒),我们要加99W个1才能得到A店铺的商品总数(总耗时99W秒),而B1,B2….B9只需分别累加1W个1(分别耗时1W秒),而为了得到商场中的商品总数,我们必须等待所有店铺都分别累计结束才能处理总和,显而易见,此时运算瓶颈便集中在A店铺的商品累计上。
这类状况经常发生在分布式运算过程中,比如Hadoop Job计算,因为map/reduce 过程中是以Key-value形式来处理数据,假如某key下的数据量太大,会导致整个计算过程中move/shuffle/sort的耗时远远高于其他key,因此该Key变成为效率“瓶颈”。一般解决办法是,自定义partitioner,对所有的Value进行自定义分组,使得每组的量较平均,从而解决时间瓶颈问题。
数据分析结果的“以偏概全”
同样使用上述的“商场”案例,并且在此基础上我们假设A店铺,B9店铺是卖低端商品,而B1,B2…..B8是卖高端商品,销量较小。如果我们要根据商品销售状况分析店铺在买家当中的受欢迎程度。由于A店铺本身商品量大,而且定位的销售价位是属于薄利多销,如果只从销售量的考虑,我们会以为A店铺在商场中是最受买家欢迎的,造成“片面”的分析结果。
其实,遇到这种情况,我们首先的分析卖家性质和买家性质,并且使用相对量来作为评估值,比如A店铺卖低端商品,日销售量1W商品,1W/99W<1%, 而B9店铺卖低端商品,日销售量5K商品,5K/1W=50%,所以在低端买家中,低端商品店铺B9应该是最受欢迎的。
分享到:
相关推荐
mapreduce基本数据读取,通俗易懂。 此项目情景为,遗传关系族谱。 (爷爷 、父母 、孩子) 经典案例
03.mapreduce数据倾斜--利用Combiner组件 maptask端局部聚合数据来减轻倾斜影响.mp4
【MapReduce篇07】MapReduce之数据清洗ETL1
hadoop编程/MapReduce数据分析实战
利用mapreduce编写的统计度分布程序
MapReduce操作实例-数据去重.pdf 学习资料 复习资料 教学资源
为了更加有效和简洁的处理此类问题,Google 提出了 MapReduce 编程模型,它可以隐藏并行化、容错、数据分布、负载均衡等细节,把这些公共的细节抽象到一个库中,由一个运行时系统来负责。而将对数据的操作抽象为 map...
使用hadoop的eclipse插件开发的mapreduce程序,实现对数据的简单统计处理,包括可视化结果
本文详细描述了基于MapReduce的交互可视化平台一系列方法
mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce mapreduce ...
MapReduce 算法设计
针对MapReduce数据块处理机制、高维数据分布特征和KNN查询需求,设计一种基于B 树的高维索引结构(iPartition),创新性提出基于主成分区分度的优化数据划分策略和邻接数据域分散存储等原则,将数据均匀划分到不同的...
云计算-MapReduce计算模型下数据倾斜处理方法的研究.pdf
mapreduce案例测试数据
mapreduce案例测试数据
MapReduce多数据源信息提取系统的开发与实现,汪伟,李昕,MapReduce是现有大数据平台中典型的分布式并行计算编程模型,在大数据处理中被广泛应用。然而,程序应用往往需要从不同结构、不同存��
网站流量数据分析 (MapReduce+Hive综合实验)