SPARK大数据计算BUG处理:
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,大数据计算BUG处理:程序修改前资源情况:Driver : 1台Worker : 2台程序提交申请内存资源 : 1G内存内存分配情况 :1. 20%用于程序运行2. 20%用于Shuffle3. 60
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
网络安全谁讲得比较好
lor各个服务器互通吗
怎样落实网络安全管理制度
tl ac300数据库
数据库兼容方案
数据库系统与云
cf绿色服务器有时间段吗
KMS服务器地址查询
c获取服务器ip地址
win10兼容的数据库版本
海安恒益网络技术有限公司
用excel做个软件开发
网络安全四字宣传语
外文文献常用数据库
win2012怎么改服务器名字
计算机网络技术升本对口专业
国际通用的数据库证
网络安全知识短语
宏居网络技术有限公司岗位
天津北辰软件开发公司
马华文学评论数据库
福建龙岩网络安全教育平台
金融科技互联网行业
数据库下拉优先级
批量管理服务器带web界面
如何添加 t6管理服务器
青少年网络安全金点子
网络技术在医学方面的应用
软件开发需求个人工作总结
搭建服务器的安全事项