在 spark rdd 中将 lambda 定义作为元组的一部分会导致大小的巨大增加

问题描述

我正在维护一些仍然使用 RDD api 的旧 Spark 1.6 代码我有这个 rdd 以 String 作为键和 lambda 作为值,lambda 是:

override def setMeasureIdFunction = (a,ctx,_) => {
      if (a.getPodStatus != dispatchStatus.disPATCHABLE) None else Some { measureId =>
        val realMeasureId = Option(a.getMeasureId).getorElse(Long.Box(measureId))
        a.setMeasureId(realMeasureId)
        (a,MeasureIdSendRecord(a.getPod,realMeasureId,List(a.getMeasSentId),Receivers.MELT,ctx.dispatchType.getFullType,None,a.getLastUpdAuth))
      }
    }

返回的案例类除了实例化对象之外什么都不做。 任何人都知道这个东西如何将我以前的 RDD 的内存大小从 880MB 增加到 56GB

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)