这是我尝试过的。取决于用户在我想将 String 或 Double 添加到新块的函数中的内容。
package org.apache.spark.h2o.utils
import water.fvec.{NewChunk, Frame, Chunk}
import water._
import water.parser.ValueString
class ReplaceNa[T >: Any](a: T) extends MRTask{
override def map(c: Chunk, nc: NewChunk): Unit = {
for (row <- 0 until c.len()) {
a match{
case s: ValueString if(c.isNA(row)) => nc.addStr(s)
case d: Double if(c.isNA(row)) => nc.addNum(d)
}
}
}
}
但我得到了错误
error: value outputFrame is not a member of Nothing
pred.add(new ReplaceNa(3).doAll(1, pred.vec(4)).outputFrame(Array("s"), null))
谢谢你的帮助!