MapPartition一次oom问题解决

原创 2017年09月13日 12:52:20

1、问题:每次跑到MapParititon就会停住
这里写图片描述
看起来是repartition的问题,实际出问题的是之前的mapPartition
executor表现:
这里写图片描述
出问题的代码:

val process_data = data.mapPartitions(
           rs => {
            val delLabelMapbc = delLabelMap.value
            var res = List[String]()
            for (r <- rs) {
              val line = r.split("\t")
                val checkDelKey = line(1) + '-' + line(6) + '-' + line(5)
                if (delLabelMapbc.contains(checkDelKey)) {
                  val rep = r.replaceFirst("[0-9]","-1")
                  res = rep :: res
                } else { res = r :: res}
            }
            res.iterator
          } )

这里res对象会把一整个partition拿进内存,所以会OOM;
然后请教的大牛说driverOOM原因就两点,stage过多,或者你自己定义的大数据结构,感觉可以记住。
2、改进
换成map

val process_data = data.map(
            r => {
                val delLabelMapbc = delLabelMap.value
                val seg = r.split("\t")
                val checkDelKey = seg(1) + '-' + seg(6) + '-' + seg(5)
                var rep = r
                if (delLabelMapbc.contains(checkDelKey)) {
                    rep = r.replaceFirst("[0-9]","-1")
                }
                rep
            }
        )

就可以正常运行了

版权声明: 举报

相关文章推荐

记一次线上Groovy导致的OOM的问题解决过程

记一次线上Groovy导致的OOM的问题解决过程

Android之failed for task ':app:dexDebug'致gradle编译OOM问题解决(android-support-multidex)

当我们的业务越来越多,项目里面的方法和第三方的jar包也会越来越多,然后昨晚就遇到了下面这个问题 UNEXPECTED TOP-LEVEL EXCEPTION: at com....

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

使用ViewPager时的OOM问题解决

最近在写项目过程中遇到这样一个问题。一个用viewPager制作的APP启动引导页,其内容只有一个imageView,而且每个imageView的平均为100K左右,该项目在720P手机上运行完全正常...

LINUX内存高,触发OOM-KILLER问题解决

Bitmap的OOM问题解决

简介 内存溢出主要是由于图片过大导致加载图片的内存过大而出现的Exception。而解决方法就是通过BitmapFactory加载图片时使用BitmapFactory.Options对相关参数进行...

DEX 方法超过64K限制和gradle编译OOM问题解决

如果你是一个Android开发者,你至少听说过的Dalvik的蛋疼的64K方法限制。概括地说,在一个DEX文件,你可以调用很多的方法,但你只能调用它们最前面的65,536个 ,因为这是在方法调用集合中...

Android在加载图片时, BitmapFactory.decodeStream(is)代码报出OOM异常问题解决

在通过对流的操作进行图片加载的过程中,Bitmap bt = BitmapFactory.decodeStream(is);代码报出OOM异常,异常信息如下: 在网上查找资料,通过以下两种方法解决...

bitmapfactory.decodefile 内存溢出(OOM)问题解决方案

今天遇到一个OOM问题,上网查找相关资料,最后写了一个方法,以供参考: //absolutePath是图片绝对路径 private void adjustImage(String absoluteP...

android播放帧动画OOM问题解决

近来在写项目时,有遇到使用android原生的序列帧动画时,在部分手机(尤其是内存小的)上出现了OOM问题,这种问题是不可避免的。1.我觉首先你要看看是否有适配问题,因为你选择播放的图片要是没有放入对...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)