使用主键表演的关联条目中
在join的过程中表演,关联键出现一双多,约略多对多期间,造出恶果存在类似。
数据发散症状 症状(1)恶果存在类似。
(2)数据量剧增。
(3)可能导致无法使用平素资源处理完成。
排查(1)出现这种原因便是
A left join B 的期间,使用主键的关联条目中,没磋商联到表B的最小粒度。
首页-微泰卡坚果有限公司(2)查找是否是这种原因
select 关联字段 from table group by 关联字段 having count(关联字段)>1 就不错判定是否磋商联字段出现不惟独的发散情况。
幸免或处置(1)若是右表关联字段有类似值则要去重,不然数据会发散。
(2)仔细写好SQL,是否存在业务逻辑的失实(关联字段用错)。
笛卡儿积 什么是笛卡儿积笛卡尔积在SQL中的完结模式既是交叉讨好(Cross Join)。扫数讨好模式齐会先生成临时笛卡尔积表,笛卡尔积是干系代数里的一个想法,暗示两个表中的每一转数据纵情组合 。
笛卡儿积案例 A表 id name city 1 aa 1001 2 bb 1002 3 cc 1003 B表 id city_name 1 a城 2 b城 3 c城 SQLSELECT * FROM A,B;恶果 id name city id city_name 1 aa 1001 1 a城 1 aa 1001 2 bb 1 aa 1001 3 c城 2 bb 1002 1 a城 2 bb 1002 2 bb 2 bb 1002 3 c城 3 cc 1003 1 a城 3 cc 1003 2 bb 3 cc 1003 3 c城 产生原因
(1)当讨好莫得on条目是,会出现笛卡尔积(一齐笛卡尔积)。
(2)当讨好on条目吊问唯独字段时,会出现笛卡尔积(局部笛卡尔积)。
(3)join的两个表中齐含有空值。
怎么幸免或处置(1)关联限制在最小粒度的列.
(2)检查表的关联字段是否有空值。
数据歪斜 什么是数据歪斜数据歪斜最空泛想法便是数据的踱步抗争衡, 青铜峡市秋洲门窗有限公司有些所在数据多, 大同区技门窗有限公司有些所在数据少。在计较过程中有些所在数据早早地处理已矣, 杭州联翔贸易有限公司有些所在数据迟迟莫得处理完成,宁波科莱迪服饰有限公司变成通盘处理进程迟迟莫得铁心, 广州五金矿产进出口有限公司这便是最径直数据歪斜的进展。
数据歪斜症状 Hivehive本身的MR引擎:发现扫数的map task一齐完成,况且99%的reduce task完成,表演只剩下一个约略少数几个reduce task一直在实验,这种情况下一般齐是发生了数据歪斜。说白了便是Hive的数据歪斜本色上是MapReduce的数据歪斜。
南通天合利贸易发展有限公司 Flink(1)Flink 任务出现数据歪斜的直不雅进展是任务节点泛泛出现反压。
(2)部分节点出现 OOM极端,是因为深广的数据聚首在某个节点上,导致该节点内存被爆,任务失败重启。
Spark(1)Executor lost,OOM,Shuffle过程出错。
(2)Driver OOM。
(3)单个Executor实验期间尽头久,全体任务卡在某个阶段不可铁心。
(4)平素开动的任务一霎失败。
怎么幸免或处置非论再出现踱步式计较框架出现数据歪斜问题处置念念路如下:好多数据歪斜的问题,齐不错用和平台无关的模式处置,比如更好的数据预处理,极端值的过滤等。因此,处置数据歪斜的重心在于对数据绸缪和业务的连结,这两个搞明晰了,数据歪斜就处置了大部分了。温雅这几个方面:
业务逻辑方面(1)数据预处理。
(2)处置热门数据:分而治之(第一次打散计较,第二次再最终团聚计较)。
步调代码层面(1)导致最终惟有一个Reduce任务的,需要预料用替代的要津字约略算子去晋升Reduce任务数。
(2)调参。
老练我方手中的器用(框架)优秀的框架也曾负重前行给你优化了好多不仅要学表演,更学会去用,更要死力去完善拓展框架功能。