在Spark Scala中找不到错误类型DataType

时间:2018-06-30 07:33:28

标签: 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](override valuid: String, 
                       f: T =>U, inType: DataType,outType: DataType) 

我遇到错误

  

错误:未找到:键入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 = {}
} 
} 

UDFTransformer类包装一个函数f,该函数接受通用类型T,并产生类型U。在Spark数据集级别,它将inType类型的输入列(请参见UnaryTransformer)转换为新的输出列(同样,该字段由outType类型的UnaryTransformer定义)。该类还具有特征MLWritable的虚拟实现,它支持将转换器序列化为文件。

0 个答案:

没有答案