代码:

import com.mongodb.spark.config.ReadConfig
import com.mongodb.spark.sql._
val config = sqlContext.sparkContext.getConf
.set("spark.mongodb.keep_alive_ms", "15000")
.set("spark.mongodb.input.uri", "mongodb://10.100.12.14:27017")
.set("spark.mongodb.input.database", "bi")
.set("spark.mongodb.input.collection", "userGroupMapping")
val readConfig = ReadConfig(config)
val objUserGroupMapping = sqlContext.read
.format("com.mongodb.spark.sql")
.mongo(readConfig)
objUserGroupMapping.printSchema()
val tbUserGroupMapping=objUserGroupMapping.toDF()
tbUserGroupMapping.registerTempTable("userGroupMapping")select _id,c,g,n,rn,t,ut from userGroupMapping where ut>'2018-05-02' limit 100

使用上述的代码取userGroupMapping 集合过后的100条记录,出现了executor time out 和GC overhead limit exceeded 异常。一开始以为推测是task 从mongodb取的数据太大,导致spark executor内存不够,后来调研了一下spark mongodb connector 在取数据的时候是条件下发的,也就是先从mongodb过滤再取回spark 内存,这样的话就不会出现内存不够的情况。后来在网上调研后,有一种说法是说task 太多,导致task gc的时候争夺gc时间和内存资源(这个不是很清楚),根据这种说法,我把本来task core 从16个调成6个后再跑程序,居然不会报错了。至于 具体原因还不是很清楚,先在这里记录一下。

转载于:https://www.cnblogs.com/chengjunhao/p/8984466.html

spark 读取mongodb失败,报executor time out 和GC overhead limit exceeded 异常相关推荐

  1. Java IDEA pom 报错java.lang.OutOfMemoryError: GC overhead limit exceeded 基本所有依赖都报错(除了JDK自带String等)解决详

    @Java IDEA pom 报错java.lang.OutOfMemoryError: GC overhead limit exceeded 基本所有依赖都报错(除了JDK自带String等)解决详 ...

  2. Spark读取HDFS上的Snappy压缩文件所导致的内存溢出问题 java.lang.OutOfMemoryError: GC overhead limit exceeded

    报错java.lang.OutOfMemoryError: GC overhead limit exceeded HDFS上有一些每天增长的文件,使用Snappy压缩,突然某天OOM了 1.原因: 因 ...

  3. 17 记一次 spark 读取大数据表 OOM OutOfMemoryError: GC overhead limit exceeded

    前言 // 呵呵 一天的车, 这就是过年吧!, 但是你还能看到 那一盏为你留的灯, 这可能就是羁绊吧 // 草稿箱 抽一波 呵呵 最近因为一次 测试造了一张 200w 数据记录的表 然后 业务上需要分 ...

  4. spark程序运行异常:java.lang.OutOfMemoryError: GC overhead limit exceeded

    此次异常是在集群上运行的spark程序日志中发现的.由于这个异常导致sparkcontext被终止,以致于任务失败: 出现的一些原因 参考:GC overhead limit exceeded jav ...

  5. idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法

    在用idea开发java项目时,启动报内存溢出错误,致服务启动失败: Error:java: java.lang.OutOfMemoryError: GC overhead limit exceede ...

  6. Eclipse报错:gc overhead limit exceeded eclipse

    Eclipse报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小需要更改Eclipse安装文件夹下的eclipse.ini文件. 1.打开 ...

  7. IDEA mvn 报错GC overhead limit exceeded

    在idea中添加maven的构建命令,执行的时候报错:[ERROR] GC overhead limit exceeded -> [Help 1] 这是因为项目太大了,mvn在执行过程中内存不够 ...

  8. JVM 报 GC Overhead limit exceeded 是什么意思?

    默认情况下,并不是等堆内存耗尽,才会报 OutOfMemoryError,而是如果 JVM 觉得 GC 效率不高,也会报这个错误. 那么怎么评价 GC 效率不高呢?来看下源码: 呢?来看下源码gcOv ...

  9. 【jvm】java jvm 报错 OutOfMemoryError: GC overhead limit exceeded

    1.概述 JVM 抛出 OutOfMemoryError 的最后一种情况是 JVM 认为在执行 GC 上花费了太多时间: Exception in thread "main" ja ...

最新文章

  1. Swift之Vision 图像识别框架
  2. JEECG微云快速开发平台
  3. 如何添加Samba用户
  4. Intel GPU及NVIDIA GPU对视频编解码支持情况
  5. python读取CIFAR10数据集并将数据集转换为PNG格式存储
  6. 【51nod-1289】大鱼吃小鱼
  7. 解决U盘插入我的电脑中不显示
  8. cad设计绘图软件:AutoCAD 2020 Mac版
  9. c语言课程设计管理系统的设计,c语言课程设计-学生管理信息系统设计.doc
  10. 2022年全国图书参考联盟读秀5.0/4.0/3.0/2.0/1.0书库网盘数据索引在线搜索查询系统搭建教程,可以实现ISBN/SS号/书封面链接/书名/作者/出版社…等信息一键搜索查询
  11. 计算机网络4小时速成:应用层,cs模型,p2p模型,DNS域名系统,文件传输协议FTP,电子邮件SMTP,万维网HTTP,动态主机配置协议DHCP
  12. 免费网页版PS,太好用了
  13. java实现仿微信app聊天功能_Android仿微信语音聊天功能
  14. 新华三智慧计算联盟,集结!
  15. 华为路由器 上网慢 延迟高 解决方法
  16. 计算机会计试题原型法的优缺点,《计算机会计学》1..doc
  17. 怎么去学习绘画格子裙?该怎么画格子裙?
  18. Moloch安装与使用
  19. 山野村夫的总提纲!……还是羞于见人啦=////=
  20. shell逐行读取excel并执行sql

热门文章

  1. NodeJS学习之网络操作
  2. (翻译) MongoDB(13) 在 Ubuntu 上安装MongoDB社区版
  3. 记一次MySQL字符集冲突导致的报错
  4. Cheat—— 给Linux初学者和管理员一个终极命令行备忘单
  5. SpringMVC+Apache Shiro+JPA(hibernate)案例教学(二)
  6. 这三天低效率开发的总结,我都做了些什么啊?
  7. 【 Makefile 编程基础之三】详解 Makefile 变量的定义规则使用!
  8. 【Big Data - Hadoop - MapReduce】通过腾讯shuffle部署对shuffle过程进行详解
  9. 《数据结构》学习笔记一:绪论
  10. 在PHP中创建和编辑Excel电子表格