执行如下代码时报错

# encoding:utf-8
from pyspark import SparkConf, SparkContext
from pyspark.sql import SparkSession conf = SparkConf().setMaster('yarn')
sc = SparkContext(conf=conf)
spark = SparkSession(sc)
rdd = spark.read.csv('/spark/gps/GPS1.csv')
print rdd.count()
print rdd.repartition(10000).count()
print rdd.repartition(10000).collect() # 报错 spark-OutOfMemory:GC overhead limit exceeded

执行命令

spark-submit --master yarn bigdata.py

报错内容

spark-OutOfMemory:GC overhead limit exceeded

在执行 count 时没什么问题,各种参数影响不大;但是在执行 collect 时,总是报错

原因分析

1. collect 导致数据回传 Driver,致使 Driver 内存溢出

解决方法是增加 Driver 内存

spark-submit --master yarn --executor-cores 4 --driver-memory 3G  bigdata.py

2. executor-core 数量太多,导致多个 core 之间争夺 GC 时间以及资源,最后导致大部分时间都花在了 GC 上

解决方法是减少 core 数量

spark-submit --master yarn --executor-cores 1  bigdata.py

参考资料:

https://blog.csdn.net/amghost/article/details/45303315

最新文章

  1. 【转】Oracle索引的类型
  2. C和指针 第七章 可变参数
  3. selector 的用法,在选择和不选择情况下的颜色
  4. SQL SERVER CURSOR游标的使用(转载)
  5. iTunesConnect进行App转移
  6. Qt之Meta-Object系统
  7. Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
  8. smarty实现缓存
  9. 《工作型PPT设计之道》培训心得
  10. Struts标签<s:iterator>遍历访问复杂Map对象
  11. [BZOJ 1143] [CTSC2008] 祭祀river 【最长反链】
  12. Nginx 模块开发(1)—— 一个稍稍能说明问题模块开发 Step By Step 过程
  13. (转)WIN2003服务器禁PING的方法
  14. Day3:T1数论+高精 T2搜索
  15. 详解Struts2拦截器机制
  16. Jenkins 在声明式 pipeline 中并行执行任务
  17. map对象拷贝问题
  18. innerText、innerHtml与value
  19. 【工利其器】必会工具之(三)systrace篇(2)
  20. Windows安装nvm和node, 以及安装live-server

热门文章

  1. redis之哨兵集群
  2. 动态规划——区间DP,计数类DP,数位统计DP
  3. Redis字符串(String)
  4. 自定义镜像mycentos
  5. 一个简单的puppeteer爬虫
  6. java代码连接oracle数据库的方法
  7. JMeter压力测试及并发量计算-2
  8. Mapping Pocos
  9. PHP学习之文件上传类
  10. 转载: beta分布介绍