SPARK大数据计算BUG处理:
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,大数据计算BUG处理:程序修改前资源情况:Driver : 1台Worker : 2台程序提交申请内存资源 : 1G内存内存分配情况 :1. 20%用于程序运行2. 20%用于Shuffle3. 60
千家信息网最后更新 2025年02月02日SPARK大数据计算BUG处理:
大数据计算BUG处理:
程序修改前资源情况:
Driver : 1台
Worker : 2台
程序提交申请内存资源 : 1G内存
内存分配情况 :
1. 20%用于程序运行
2. 20%用于Shuffle
3. 60%用于RDD缓存
单条TweetBean大小 : 3k
1. 内存溢出
原因:因为程序会把所有的TweetBean查询出来并且合并(union),该操作在内存中进行。则某个campaign数据量较大时,如500W数据,则500W*10k=50G,超出内存限制。
解决方法: 先按数据量切分task,避免单个task有很多数据造成内存溢出。把所有的task切分完成放到task列表中。循环task列表,当取出的task的数据量大于200000时,合并所有的数据并拆分成16个RDD分片。循环取task列表直至结束。
批量取200000数据的原因:200000*3k=600M,两台机器可用于程序运行的内存=2(机器数)* 2G(程序申请的内存大小) * 0.2(用于程序运行的内存比例) = 800M,可以满足存储200000数据,避免内存溢出。
2. 运行缓慢
原因:因为两台机器,每台机器可用于shuffle的内存大小 = 2(机器数)* 1G(程序申请的内存大小)* 0.2(用于程序运行的内存比例)= 400M。
200000(批量处理的数据量)* 3k(单条TweetBean大小)= 600M,批量Shuffle的数据量大于机器可用内存,所以数据会Flush到硬盘,导致读取数据缓慢。
解决方法:调整程序Shuffle可用内存,如下:
程序申请内存资源:2G
内存分配情况 :
1. 20%用于程序运行
2. 60%用于Shuffle
3. 20%用于RDD缓存
内存
数据
程序
机器
运行
大小
原因
情况
资源
处理
缓慢
方法
比例
缓存
分配
循环
较大
单个
硬盘
存储
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
无线通信网络技术论文
互联网金融科技公司股票
教育局网络安全建设办法
数据库父子节点层级顺序
移动APP软件开发代码书籍
网络安全与信息化 杂志
通州网络安全产业园最新消息
华为服务器生态硬件
数据库技术方向好吗
网络安全伴我行600
江苏服务器散热器厂商云空间
做个人网站需要什么服务器
运营商网络技术
学堂云网络安全课程考试答案
无线软件开发工程师
xp安装什么数据库
张雄锋软件开发
人材网用什么数据库
steam专用服务器
服务器发送数据给dtu
软件开发公司发展规划及战略
服务器硬件工程师年度总结ppt
数据库的高级查询
购买免流服务器网址
服务器硬件监控方案
cs软件开发实训是啥
快宝网络技术有限公司客服
金山区软件开发信息推荐
趣泰科技互联网营销师报考基地
软件开发包管理平台