搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
煮酒与君饮
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
charles修改请求参数_charles 参数替换
2
Stable Diffusion教程:4000字说清楚图生图_stable diffusion拉伸、裁剪、填充
3
llamaindex构建知识库对本地模型进行rag的优化_llamaindex优化
4
Android13 应用代码中修改热点默认密码_android13 驱动 修改热点 名称 密码
5
天池精准医疗大赛-冠军解决方案
6
【图神经网络DGL】消息传递范式(消息+聚合+更新)_消息传递图神经网络
7
nlp-Pretraining
8
JUC Atomic原子类分析_juc 原子自增
9
CF-Educational Codeforces Round 44 (Rated for Div. 2)-A-Chess Placing_educational codeforces round 46
10
【1day】Panabit 日志系统openid接口SQL注入漏洞_panabit漏洞利用
当前位置:
article
> 正文
Spark调优-数据倾斜解决方案 原理及现象分析_spark数据倾斜生产分析
作者:煮酒与君饮 | 2024-08-13 17:20:17
赞
踩
spark数据倾斜生产分析
数据倾斜解决方案 原理及现象分析
项目,第一个模块,用户访问session分析模块
1、大数据开发流程(需求分析。。。性能调优)
2、用户行为分析的业务(聚合统计、随机抽取、topn、排序)
3、技术点:大数据项目模块的技术架构、spark core各种算子、自定义Accumulator、随机抽取算法、
分组取topn、二次排序
4、大数据项目中的性能调优和troubleshooting
5、完整的数据倾斜解决方案
数据倾斜
在任何大数据类的项目中,都是最棘手的性能问题,最能体现人的技术能力,最能体现RD(Research Developer,研发工程师)的技术水平。
数据倾斜 = 性能杀手
如果没有丰富的经验,或者没有受过专业的技术培训,是很难解决数据倾斜问题的
因为上述的特点,数据倾斜解决方案,这块儿内容和技术,在咱们的这个模块,甚至是整个项目中,
都是非常非常核心、有含金量、有价值的。
Spark的数据倾斜解决方案,好好去学习,数据倾斜解决方案,将成为你面试、在公司里的一个个人的杀手锏!!!
假设我们有90万数据,然后有3个task,感觉上,平均来说,应该是每个task分到30万数据
在执行shuffle操作的时候,大家都知道,我们之前讲解过shuffle的原理。是按照key,
来进行values的数据的输出、拉取和聚合的。
同一个key的values,一定是分配到一个reduce task进行处理的。
多个key对应的values,总共是90万。但是问题是,可能某个key对应了88万数据,key-88万values,
分配到一个task上去面去执行。
另外两个task,可能各分配到了1万数据,可能是数百个key,对应的1万条数据。
想象一下,出现数据倾斜以后的运行的情况。
第一个和第二个task,各分配到了1万数据;那么可能1万条数据,需要10分钟计算完毕;
第一个和第二个task,可能同时在10分钟内都运行完了;第三个task要88万条,
88 * 10 = 880分钟 = 14.5个小时;
大家看看,本来另外两个task很快就运行完毕了(10分钟),但是由于一个拖后腿的家伙,第三个task,
要14.5个小时才能运行完,就导致整个spark作业,也得14.5个小时才能运行完。
导致spark作业,跑的特别特别特别特别慢!!!像老牛拉破车!
数据倾斜,一旦出现,是不是性能杀手。。。。
A、数据倾斜的原理
原理比较简单就是大量数据都到某个task里面去了
B、数据倾斜的现象
发生数据倾斜以后的现象:
spark数据倾斜,有两种表现:
1、你的大部分的task,都执行的特别特别快,刷刷刷,就执行完了(你要用client模式,
standalone client,yarn client,本地机器主要一执行spark-submit脚本,就会开始打印log),
task175 finished;剩下几个task,执行的特别特别慢,前面的task,一般1s可以执行完5个;
最后发现1000个task,998,999 task,要执行1个小时,2个小时才能执行完一个task。
出现数据倾斜了
还算好的,因为虽然老牛拉破车一样,非常慢,但是至少还能跑。
2、运行的时候,其他task都刷刷刷执行完了,也没什么特别的问题;但是有的task,就是会突然间,
啪,报了一个OOM,JVM Out Of Memory,内存溢出了,task failed,task lost,resubmitting task。
反复执行几次都到了某个task就是跑不通,最后就挂掉。
某个task就直接OOM,那么基本上也是因为数据倾斜了,task分配的数量实在是太大了!!!
所以内存放不下,然后你的task每处理一条数据,还要创建大量的对象。内存爆掉了。
出现数据倾斜了
这种就不太好了,因为你的程序如果不去解决数据倾斜的问题,压根儿就跑不出来。
作业都跑不完,还谈什么性能调优这些东西。扯淡。。。
C、数据倾斜的产生原因与定位
定位原因与出现问题的位置:
根据log去定位
出现数据倾斜的原因,基本只可能是因为发生了shuffle操作,在shuffle的过程中,
出现了数据倾斜的问题。因为某个,或者某些key对应的数据,远远的高于其他的key。
1、你在自己的程序里面找找,哪些地方用了会产生shuffle的算子,groupByKey、countByKey、
reduceByKey、join
2、看log
log一般会报是在你的哪一行代码,导致了OOM异常;或者呢,看log,看看是执行到了第几个stage!!!
去找找,代码那个地方,是哪个shuffle操作。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/煮酒与君饮/article/detail/975791
推荐阅读
article
Apache
Doris
生态扩展及优化:
Spark
Doris
Connector
;
Flink
D...
无论是DataStream API 还是SQL API 读取
Doris
中数据时,目前仅支持批读取。
Flink
向
Doris
...
赞
踩
article
Spark
in
acti
on
o...
前言在上篇文章中,我们分析了
Spark
Operator内部的机制,今天我们会讨论一个在大数据领域中最重要的话题 - 存...
赞
踩
article
Collecting
package
metadata
(current_repodata.json...
本文讲述了在使用Anaconda时遇到的意外错误,提供了三种可能的
解决方案
:检查并修改.condarc文件,关闭网络代理...
赞
踩
article
大
数据
处理
引擎选型之
Hadoop
vs
Spark
vs
Flink
_
大
数据
常用的
分布式计算
引擎...
随着
大
数据
时代的到来,处理海量
数据
成为了各个领域的关键挑战之一。为了应对这一挑战,多个
大
数据
处理
框架被开发出来,其中最知...
赞
踩
article
谷歌
浏览器
提示:您要
访问
的
网站
包含
恶意软件
(
解决方案
)_您要
访问
的
网站
包含
危险应用...
当谷歌Chrome
浏览器
提示‘您要
访问
的
网站
包含
恶意软件
’时,可能是误判、
网站
安全问题或广告联盟问题。临时
解决方案
是通过...
赞
踩
article
Spark
Streaming
入门 - 从
Queue
队列接收数据 Demo,测试使用_sparkst...
package cn.taobao;import org.apache.spark.api.java.JavaRDD;i...
赞
踩
article
【
Spark
NLP
】第
10
章:
主题
建模_
spark
nlp
lda
...
这些值可以是二进制的,表示单词的存在,或者一个术语出现的次数,或者它们可以是 TF.IDF 值。一旦我们有了这样一个矩阵...
赞
踩
article
JAVA开发中专业术语列举_
java
中
tlflash
,
tlkv
,
kylin
,
phonelx
,sp...
堡垒机堡垒机(Access Gateway),即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和...
赞
踩
article
Python
|
解决方案
| 多个
文件
共用
logger
,
重复
打印
问题...
项目中封装了logging库为log.py
,
实现既把日志输出到控制台
,
又写入日志
文件
文件
。python3.7.3
文件
和...
赞
踩
article
Spark
SQL
概述...
架构、特点、运行原理、API 相关概述、依赖、数据集、基本用法_spark sqlspark sql ...
赞
踩
article
Kafka
--
消息
丢失
--原因/
解决方案
/零
丢失
的配置_单机
kafka
为什么会
丢失
数据...
本文介绍
Kafka
什么时候
消息
会
丢失
、保证
消息
不
丢失
的
解决方案
、
消息
零
丢失
的配置。_单机
kafka
为什么会
丢失
数据单机k...
赞
踩
article
打通
医疗
信息系统
壁垒
,
医疗
业相关场景
RPA
应用
_医药
rpa
解决方案
...
本文探讨了
医疗
信息系统
存在的壁垒
,
并介绍了
RPA
在
医疗
领域的
应用
,
如预约挂号、账户结算、药物供应商管理等9大场景。
RPA
...
赞
踩
article
【
解决方案
】
mysql
数据库
添加
非
主
键
自增
字
段
_该
信息
提示
我们
设为
自增
的
字
段
必须作为
键
(并非一定是...
我们
直接向表中
添加
自增
的非
主
键
字
段
时会报错,错误
信息
如下:该
信息
提示
我们
设为
自增
的
字
段
必须作为
键
(并非一定是
主
键
)。所以...
赞
踩
article
微信
小
程序
自定义
tabbar
,页面切换存在闪动【
解决方案
】_
微信
小
程序
自定义
tabbar
切换页面闪烁...
文章讨论了在
微信
小
程序
中如何避免TabBar切换时图片(SVG或PNG)闪烁的问题,提供了三种
解决方案
:1)使用SVG转...
赞
踩
article
TypeError
:
LoraConfig
.
__
init
__
() got an
unexpected
...
本文讲述了在使用api_for_open_llm时遇到的
TypeError
:
LoraConfig
.
__
init
__
()...
赞
踩
article
大
数据
进阶之路——
Spark
SQL
日志分析_
spark
捕获异常
sql
语句...
文章目录基本方案
数据
处理流程
数据
清洗二次清洗视频访问按照省份按照流量优化
数据
可视化echarts基本方案用户行为日志:用...
赞
踩
article
Spark
&
HiveSQL
中
Join
操作的
谓词
下推
?_
join
谓语
下推
...
前言:
Spark
SQL和
HiveSQL
的
Join
操作中也有
谓词
下推
?今天就通过大神的文章来了解下。同样,如有冒犯,请联系...
赞
踩
article
解决方案
-
培训师
工程
网络安全
工作
内容
-手把手教渗透教程...
网络信息安全
工程
师是一种跨专业的技术人才,它要求具备扎实的计算机基础知识、熟练的
网络安全
技术、牢固的安全意识和良好的职业...
赞
踩
article
解决方案
-
攻防
网络平台
有哪些-
手把手
教
漏洞
指南...
2021年网络安全
攻防
演练专项保障服务项目比选文件,
解决方案
-
攻防
网络平台
有哪些-
手把手
教
漏洞
指南 ...
赞
踩
article
解决方案
-
安全
高级
工程师
-
手把手
教白客笔记...
3、负责对接公安部、银保监会、人民银行等监管机构,配合开展信息
安全
检查和对接工作,对国家法律法规和监管规范进行解读、贯标...
赞
踩
相关标签
apache
spark
flink
doris
大数据
运维
scala
python
深度学习
linux
hadoop
apache spark
自然语言处理
Access Gateway
Memory Leak
sql
kafka
MySQL
微信小程序
小程序