在spark scala中找不到类型数据类型时出错
我试图使用管道将定义的Scala函数包装到转换中在spark scala中找不到类型数据类型时出错,scala,apache-spark,Scala,Apache Spark,我试图使用管道将定义的Scala函数包装到转换中 import org.apache.spark.ml.{Pipeline, UnaryTransformer} import org.apache.spark.sql.types._ import org.apache.spark.ml.param.ParamMap import org.apache.spark.ml.util.{MLWritable, MLWriter} class UDFTransformer[T, U](over
import org.apache.spark.ml.{Pipeline, UnaryTransformer}
import org.apache.spark.sql.types._
import org.apache.spark.ml.param.ParamMap
import org.apache.spark.ml.util.{MLWritable, MLWriter}
class UDFTransformer[T, U](override valuid: String,
f: T =>U, inType: DataType,outType: DataType)
我得到了一个错误
错误:未找到:类型数据类型
我已经导入了所有必要的文件,我不知道我丢失了什么,也不知道为什么会出现此错误
代码的其余部分是
extendsUnaryTransformer[T, U, UDFTransformer[T, U]] with MLWritable {
override protected defcreateTransformFunc: T =>U = f
override protected defvalidateInputType(inputType: DataType): Unit = require(inputType == inType)
override protected defoutputDataType: DataType = outType
override defwrite: MLWriter = new MLWriter {
override protected defsaveImpl(path: String): Unit = {}
}
}
UDFTTransformer类包装函数f,该函数接受泛型T,并生成类型U。在Spark数据集级别,它将IntType类型的输入列(请参见UnaryTransformer)转换为outType类型的新输出列(同样,该字段由UnaryTransformer定义)。该类还有一个trait mlwriteable的虚拟实现,它支持将转换器序列化到文件中。您能在这里添加一些代码吗,该类正在做什么?因为您已经导入了spark.sql.types.\uScala编译器可能无法在类代码中找到某些内容。请使用此附加信息更新问题。我已经完成了上述操作,请检查一次