java from space_解决spark运行时Java heap space问题

在尝试使用Spark广播200w条数据时,遇到了`java.lang.OutOfMemoryError: Java heap space`错误。报错显示内存不足。解决办法是通过修改`spark-submit`命令,增加`--driver-memory`参数,如`--driver-memory 1g`,来提升驱动程序的内存分配。然而,对于executor-memory的调整,在YARN模式下可能需要在YARN配置中进行。
摘要由CSDN通过智能技术生成

问题描述:

在执行spark程序时,需要读取200w数据作为缓存。在利用.broadcast广播这些数据时,遇到Exception in thread "main" java.lang.OutOfMemoryError: Java heap space问题。

报错信息如下:

15/09/15 05:26:09 INFO storage.BlockManagerInfo: Removed broadcast_3_piece0 on ip-172-31-10-136.ec2.internal:34472 in memory (size: 2.0 KB, free: 397.3 MB)

15/09/15 05:26:09 INFO spark.ContextCleaner: Cleaned broadcast 3

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

at java.io.ObjectOutputStream$HandleTable.growEntries(ObjectOutputStream.java:2351)

at java.io.ObjectOutputStream$HandleTable.assign(ObjectOutputStream.java:2276)

at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1428)

at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)

at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)

at java.util.ArrayList.writeObject(ArrayList.java:762)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)

at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)

at java.io.ObjectOutputStream.writeOrdinaryObje

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值