在机器学习的实践中,我们通常会遇到实际数据中正负样本比例不平衡的情况,也叫数据倾斜。对于数据倾斜的情况,如果选取的算法不合适,或者评价指标不合适,那么对于实际应用线上时效果往往会不尽人意,所以如何解决数据不平衡问题是实际生产中非常常见且重要的问题。 什么是类别不平衡问题 我们拿到一份数据时,如果是二 ...
分类:
其他好文 时间:
2019-08-27 12:27:14
阅读次数:
113
maxwell主要提供了下列功能 支持 SELECT * FROM table 的方式进行全量数据初始化 支持在主库发生failover后,自动回复binlog位置(GTID) 可以对数据进行分区,解决数据倾斜问题,发送到kafka的数据支持database,table,column等级别的数据分区 ...
分类:
数据库 时间:
2019-08-06 20:01:54
阅读次数:
438
在spark中,框架默认使用的事hashPartitioner分区器进行对rdd分区,但是实际生产中,往往使用spark自带的分区器会产生数据倾斜等原因,这个时候就需要我们自定义分区,按照我们指定的字段进行分区。具体的流程步骤如下: 1、创建一个自定义的分区类,并继承Partitioner,注意这个 ...
分类:
其他好文 时间:
2019-06-23 17:30:57
阅读次数:
138
讨论QQ:1586558083 目录 调优概述 数据倾斜发生时的现象 数据倾斜发生的原理 如何定位导致数据倾斜的代码 某个task执行特别慢的情况 某个task莫名其妙内存溢出的情况 查看导致数据倾斜的key的数据分布情况 数据倾斜的解决方案 解决方案一:使用Hive ETL预处理数据 解决方案二: ...
分类:
其他好文 时间:
2019-06-11 13:00:13
阅读次数:
135
本方案描述为宏观场景展示方案,不涉及业务场景展示方案的探讨。 1. 数据源要求 基础数据中,需提供行政边界、水系、建筑物(必须带楼层属性)、道路、绿地等图层数据。 其中三维场景展示支持: 1)主打基于建筑物SHP的灰模展示,数据获取方便,成本低。 2)如有真三维数据(倾斜摄影、3dmax等),提供真 ...
分类:
其他好文 时间:
2019-05-24 15:46:34
阅读次数:
204
1 hive表关联查询,如何解决数据倾斜的问题?倾斜原因:map输出数据按key Hash的分配到reduce中,由于key分布不均匀、业务数据本身的特、建表时考虑不周、等原因造成的reduce 上的数据量差异过大。1)、key分布不均匀;2)、业务数据本身的特性;3)、建表时考虑不周;4)、某些S ...
分类:
其他好文 时间:
2019-05-13 14:29:16
阅读次数:
107
数据倾斜通常指hive根据key值hash分发到各个节点,相同的key值会分发到一个执行节点中,由于某些key值对应的数据量比其它key值的数据量大很多,导致某些执行节点的运行时间远大于其它节点,从而导致整个job执行时间较长。在hive中执行的sql会有map和reduce两个阶段,map阶段的数据倾斜主要为数据从磁盘读入内存时、join,reduce阶段数据倾斜主要有join、groupby、
分类:
其他好文 时间:
2019-04-15 19:41:06
阅读次数:
257
【使用场景】 两个RDD进行join的时候,如果数据量都比较大,那么此时可以sample看下两个RDD中的key分布情况。如果出现数据倾斜,是因为其中某一个RDD中的少数几个key的数据量过大,而另一个RDD中的所有key都分布比较均匀,此时可以考虑采用本解决方案。 【解决方案】 【方案优点】 对于 ...
分类:
其他好文 时间:
2019-03-26 01:19:15
阅读次数:
442
【使用场景】 对RDD使用join类操作,或者是在Spark SQL中使用join语句时,而且join操作中的一个RDD或表的数据量比较小(例如几百MB或者1~2GB),比较适用此方案。。 【解决方案】 小表join大表转为小表broadcast+map大表实现。具体为: 普通的join是会shuf ...
分类:
其他好文 时间:
2019-03-24 10:02:41
阅读次数:
515
【使用场景】 对RDD执行reduceByKey等聚合类shuffle算子或者在Spark SQL中使用group by语句进行分组聚合时,经过sample或日志、界面定位,发生了数据倾斜。 【解决方案】 局部聚合+全局聚合,进行两阶段聚合。具体为: 将原本相同的key通过附加随机前缀的方式,变成多 ...
分类:
其他好文 时间:
2019-03-23 00:18:20
阅读次数:
180