spark遇到的错误1-内存不足
2024-09-26 11:25:53
原来的代码:
JavaRDD<ArticleReply> javaRdd = rdd.flatMap(new FlatMapFunction<String, ArticleReply>() {
private static final long serialVersionUID = 10000L;
List<ArticleReply> newList = new ArrayList<ArticleReply>();
public Iterable<ArticleReply> call(String line) throws Exception {
String[] splits = line.split("\t");
ArticleReply bean = new ArticleReply();
bean.setAreaId(split[0]);
bean.setAgent(Integer.parseInt(splits[1]));
bean.setSerial(splits[2]);
newList.add(bean);
return newList;
}
});
正确写法:
JavaRDD<ArticleReply> javaRdd = rdd.flatMap(new FlatMapFunction<String, ArticleReply>() {
private static final long serialVersionUID = 10000L; public Iterable<ArticleReply> call(String line) throws Exception {
List<ArticleReply> newList = new ArrayList<ArticleReply>();
String[] splits = line.split("\t");
ArticleReply bean = new ArticleReply();
bean.setAreaId(split[0]);
bean.setAgent(Integer.parseInt(splits[1]));
bean.setSerial(splits[2]);
newList.add(bean);
return newList;
}
});
错误的写法中把list声明和初始化在flatMap函数之外,造成每次调用flatMap函数后,list的bean会增加一个,同时程序会将改list返还回去,那么spark接收的对象1+2+3+...+N个,
而不是N个,会极大地消耗spark的内存,造成spark运行内存不足。
最新文章
- 舍弃Nunit拥抱Xunit
- AVL树
- Spring MVC 3.0 深入及对注解的详细讲解
- fontcreator制作iconfont(包含两个教程)
- ABAP--关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)
- Spring MVC 上传文件
- struts checkbox选中
- Discuz! X3.1去除内置门户导航/portal.php尾巴的方法
- c语言编程之栈(链表实现)
- 环境监测小助手V1.1的Windows版
- java20 创建服务器:ServerSocket
- ping and traceroute(tracert)
- tomcat组成及原理[转]
- 在调试安卓系统的时候需要这个 ”adb disable-verity“
- 抛弃vue-resource拥抱axios
- 社交系统ThinkSNS+安装部署演示
- c3p0配置文件
- 深入理解ajax系列第八篇——表单提交
- lua io操作(一)
- 深度优先搜索(DFS)----------------Tju_Oj_3517The longest athletic track
热门文章
- BloomFilter理解
- 如何进行CodeReview
- h5标签兼容
- 第11章 拾遗1:网络地址转换(NAT)和端口映射
- Kafka分布式集群部署
- Wsgi的web框架实例
- webstorm命令行无法使用node-gyp进行编译
- linux 乌班图 安装pycharm
- python协程的使用
- gentoo rt-thread scons --menuconfig libs/lxdialog/util.o: undefined reference to symbol &#39;nodelay&#39;