【问题标题】:unable to apply StringIndexer method on dataframe [duplicate]无法在数据帧上应用 StringIndexer 方法 [重复]
【发布时间】:2020-01-30 13:08:16
【问题描述】:

我从 CSV 文件创建了名为 df 的数据框。数据框是

+---+---+---+--------+-------------------------------------------------+
|X  |Y  |Z  |class   |source                                           |
+---+---+---+--------+-------------------------------------------------+
|33 |36 |51 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|33 |36 |51 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|33 |35 |53 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|31 |37 |52 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|32 |36 |52 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|32 |36 |51 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|32 |36 |51 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|33 |36 |53 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|33 |35 |52 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
|33 |36 |52 |Eat_meat|Accelerometer-2011-03-24-13-21-39-eat_meat-f1.txt|
+---+---+---+--------+-------------------------------------------------+

我想应用 StringIndexer 将名为 class 的列转换为索引。我尝试了以下代码。

val indexer = new StringIndexer()
  .setInputCol("X")
  .setOutputCol("classIndex")

val indexed = indexer.fit(df).transform(df)
indexed.show()

此代码引发以下错误。

线程“main”中的异常 java.lang.NoSuchMethodError: org.apache.spark.sql.expressions.UserDefinedFunction.asNondeterministic()Lorg/apache/spark/sql/expressions/UserDefinedFunction; 在 org.apache.spark.ml.feature.StringIndexerModel.transform

当我尝试应用转换功能时会发生此错误。我该如何解决这个错误?

【问题讨论】:

  • 希望你使用的是 spark 2.4
  • @Rakshith 是的。 Spark 2.4.0 版和 Scala 2.11.8 版

标签: scala apache-spark apache-spark-sql apache-spark-mllib


【解决方案1】:

由于版本不匹配,可能会出现该问题。 检查这个问题的答案是否有帮助。

Apache Spark: java.lang.NoSuchMethodError .rddToPairRDDFunctions

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 2016-12-18
    • 2017-07-14
    • 2016-01-17
    • 2021-10-31
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多