新闻资讯

使用主键表演的关联条目中

使用主键表演的关联条目中

[[425544]] 数据发散 什么是数据发散

在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城 SQL
SELECT * 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)检查表的关联字段是否有空值。

数据歪斜 什么是数据歪斜

数据歪斜最空泛想法便是数据的踱步抗争衡, 青铜峡市秋洲门窗有限公司有些所在数据多, 大同区技门窗有限公司有些所在数据少。在计较过程中有些所在数据早早地处理已矣, 杭州联翔贸易有限公司有些所在数据迟迟莫得处理完成,宁波科莱迪服饰有限公司变成通盘处理进程迟迟莫得铁心, 广州五金矿产进出口有限公司这便是最径直数据歪斜的进展。

数据歪斜症状 Hive

hive本身的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)调参。

老练我方手中的器用(框架)

优秀的框架也曾负重前行给你优化了好多不仅要学表演,更学会去用,更要死力去完善拓展框架功能。



上一篇:没有了
下一篇:没有了

Powered by 青岛依锦珊商贸有限公司 @2013-2022 RSS地图 HTML地图

Copyright 365建站 © 2013-2024 SSWL 版权所有