SPARK大数据计算BUG处理:
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,大数据计算BUG处理:程序修改前资源情况:Driver : 1台Worker : 2台程序提交申请内存资源 : 1G内存内存分配情况 :1. 20%用于程序运行2. 20%用于Shuffle3. 60
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
中国互联网科技工作委员会毛军
互联网巨头科技公司
互联网科技论文
互联网科技咨询
互联网金融科技委员会
居家互联网科技有限公司
盛创互联网科技有限公司
滨湖区互联网智能科技产品供应
中盈科技互联网信息有限公司
互联网企业和科技型企业
深圳市优智互联网科技有限公司
青海科技产业互联网发展
国大互联网教育科技有限公司工作
河南住房之家互联网科技
中国互联网公司排名锤子科技
世界互联网领先科技成果获奖
恒生互联网科技业指数调整周期
2021互联网科技公司排名
西安有哪些互联网高科技企业
福州德业互联网科技
蓝思科技飞鸽互联网
云信互联网科技有限公司
华宇互联网科技
嘟嘟瓜互联网科技
长亮科技 互联网金融
互联网科技咨询
互联网科技中介
浙江互联网科技研学营
坤平互联网科技
南博望互联网科技有限公司