当前位置: 首页 > news >正文

Spark中collect方法报错java.lang.OutOfMemoryError:Java heap space

具体报错信息:

在执行val arr = data.collect()的时候报错
java.lang.OutOfMemoryError:Java heap space

1.collect的作用

Spark内有collect方法,是Action操作里边的一个算子,这个方法可以将RDD类型的数据转化为数组,同时会从远程集群是拉取数据到driver端。

2.已知的弊端

首先,collect是Action里边的,根据RDD的惰性机制,真正的计算发生在RDD的Action操作。那么,一次collect就会导致一次Shuffle,而一次Shuffle调度一次stage,然而一次stage包含很多个已分解的任务碎片Task。这么一来,会导致程序运行时间大大增加,属于比较耗时的操作,即使是在local模式下也同样耗时。
其次,从环境上来讲,本机local模式下运行并无太大区别,可若放在分布式环境下运行,一次collect操作会将分布式各个节点上的数据汇聚到一个driver节点上,而这么一来,后续所执行的运算和操作就会脱离这个分布式环境而相当于单机环境下运行,这也与Spark的分布式理念不合。
最后,将大量数据汇集到一个driver节点上,并且像这样val arr = data.collect(),将数据用数组存

相关文章:

  • Spark与Flink 架构选择
  • Java代码实现PDF添加水印
  • Spark统计每天新增用户
  • Spark on Hive和Hive on Spark的区别
  • java位运算例子
  • C#中的Tostring方法与例子
  • C#简单json实例
  • oracle时间日期函数
  • 多表连接(inner join on用法)
  • Oracle分页查询语句(一)
  • ORACLE分页查询语句_rownum(二)
  • Oracle的优化器
  • oracle的case函数控制结构DECODE()函数
  • JQuery入门简介
  • Js字符串操作函数大全
  • python3.6+scrapy+mysql 爬虫实战
  • 【mysql】环境安装、服务启动、密码设置
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • CODING 缺陷管理功能正式开始公测
  • CSS 专业技巧
  • Date型的使用
  • Javascript弹出层-初探
  • JS基础之数据类型、对象、原型、原型链、继承
  • leetcode46 Permutation 排列组合
  • Linux中的硬链接与软链接
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • SQLServer之创建数据库快照
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 我这样减少了26.5M Java内存!
  • 一文看透浏览器架构
  • 在Mac OS X上安装 Ruby运行环境
  • 昨天1024程序员节,我故意写了个死循环~
  • # Java NIO(一)FileChannel
  • #stm32驱动外设模块总结w5500模块
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Python第六天)文件处理
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)计算机毕业设计高校学生选课系统
  • (四)Controller接口控制器详解(三)
  • (算法)Game
  • (算法二)滑动窗口
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • ./configure,make,make install的作用
  • .net mvc 获取url中controller和action
  • .net 提取注释生成API文档 帮助文档
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NetCore 如何动态路由
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .php文件都打不开,打不开php文件怎么办
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [bzoj1324]Exca王者之剑_最小割
  • [LeetCode 127] - 单词梯(Word Ladder)
  • [linux c]linux do_div() 函数用法
  • [Machine Learning][Part 7]神经网络的基本组成结构