Scala org.apache.spark.ml.feature.IDF错误
如中所述 火花显示器Scala org.apache.spark.ml.feature.IDF错误,scala,apache-spark,apache-spark-mllib,Scala,Apache Spark,Apache Spark Mllib,如中所述 火花显示器 scala> import org.apache.spark.ml.feature.IDF <console>:13: error: object IDF is not a member of package org.apache.spark.ml.feature import org.apache.spark.ml.feature.IDF scala>import org.apache.spark.ml.feature.IDF :13:错
scala> import org.apache.spark.ml.feature.IDF
<console>:13: error: object IDF is not a member of package org.apache.spark.ml.feature
import org.apache.spark.ml.feature.IDF
scala>import org.apache.spark.ml.feature.IDF
:13:错误:对象IDF不是包org.apache.spark.ml.feature的成员
导入org.apache.spark.ml.feature.IDF
然而,
import org.apache.spark.mllib.feature.IDF
工作正常
任何错误的原因。我不熟悉spark和scala。这在
spark-1.4.1
中是不可复制的。您使用的是哪个版本
scala> import org.apache.spark.ml.feature.IDF
import org.apache.spark.ml.feature.IDF
scala> import org.apache.spark.ml.feature.{HashingTF, IDF, Tokenizer}
import org.apache.spark.ml.feature.{HashingTF, IDF, Tokenizer}
EDIT1
Spark 1.2.x仅包含:org.apache.Spark.mllib.feature.IDF
尝试在此处搜索IDF:出现错误的原因是
功能.IDF
类是使用spark 1.4在spark ml
中引入的。因此,对象IDF不是包org.apache.spark.ml.feature的成员
您可以尝试改用spark mllib IDF类。试试这个import org.apache.spark.mllib.feature.IDF
注意从ml
到mllib
import org.apache.spark.mllib.feature.IDF
的更改可以正常工作。问题中已经提到了它。@Aayuskumarsingha请看我的编辑,它解释了原因。是否有任何文档提到将feature.IDF放入spark ml的任何原因?在当前版本的spark中,IDF同时位于spark mllib和spark ml中。我邀请您在官方文档页面上阅读这两个库之间的区别。区别主要是概念上的,spark ml在引擎盖下使用spark mllib。Spark ml或多或少是Spark mllib的包装器,它允许Spark mllib的算法直接用于数据帧。
scala> import org.apache.spark.ml.feature.IDF
import org.apache.spark.ml.feature.IDF
scala> import org.apache.spark.ml.feature.{HashingTF, IDF, Tokenizer}
import org.apache.spark.ml.feature.{HashingTF, IDF, Tokenizer}