Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在spark scala中找不到类型数据类型时出错_Scala_Apache Spark - Fatal编程技术网

在spark 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

我试图使用管道将定义的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) 
我得到了一个错误

错误:未找到:类型数据类型

我已经导入了所有必要的文件,我不知道我丢失了什么,也不知道为什么会出现此错误

代码的其余部分是

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编译器可能无法在类代码中找到某些内容。请使用此附加信息更新问题。我已经完成了上述操作,请检查一次