Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 Transformers[Scala]:在输入完整数据之前了解模式转换结果_Scala_Apache Spark_Apache Spark Ml - Fatal编程技术网

Spark Transformers[Scala]:在输入完整数据之前了解模式转换结果

Spark Transformers[Scala]:在输入完整数据之前了解模式转换结果,scala,apache-spark,apache-spark-ml,Scala,Apache Spark,Apache Spark Ml,如果我想知道Transformer如何改变模式,有没有一种方法可以使用;不提供数据?例如,我有一个大的数据帧,但我不想将它与转换器一起使用;我只想知道在不使用完整数据的情况下发生的模式转换。transformer是懒惰的(没有fit阶段),因此即使传递数据,也不会有明显的延迟 但是,所有管道阶段(包括转换器和估计器)都提供了方法,可以直接调用该方法,并将结构类型作为参数。例如,如果您有像这样的StringIndexer import org.apache.spark.ml.feature.Str

如果我想知道
Transformer
如何改变模式,有没有一种方法可以使用;不提供数据?例如,我有一个大的数据帧,但我不想将它与转换器一起使用;我只想知道在不使用完整数据的情况下发生的模式转换。

transformer
是懒惰的(没有
fit
阶段),因此即使传递数据,也不会有明显的延迟

但是,所有
管道阶段
(包括
转换器
估计器
)都提供了方法,可以直接调用该方法,并将
结构类型
作为参数。例如,如果您有像这样的
StringIndexer

import org.apache.spark.ml.feature.StringIndexer

val indexer = new StringIndexer().setInputCol("foo").setOutputCol("foo_indexed")
import org.apache.spark.sql.types._

val schema = StructType(Seq(StructField("foo", StringType)))
像这样的模式

import org.apache.spark.ml.feature.StringIndexer

val indexer = new StringIndexer().setInputCol("foo").setOutputCol("foo_indexed")
import org.apache.spark.sql.types._

val schema = StructType(Seq(StructField("foo", StringType)))
您可以按如下方式应用它:

indexer.transformSchema(schema)
得到

org.apache.spark.sql.types.StructType=StructType(StructField(foo,StringType,true),StructField(foo_索引,DoubleType,false))