简体   繁体   English

如何修复 Spark (Scala) 中的“java.lang.Integer cannot be cast to java.lang.Double”错误?

[英]How to fix "java.lang.Integer cannot be cast to java.lang.Double" Error in Spark (Scala)?

I have a 2 column (1 int and 1 double) dataframe "fit_comparison", of predicted values and linear regression results.我有一个 2 列(1 个整数和 1 个双精度)数据框“fit_comparison”,包含预测值和线性回归结果。

I have used the following code to get regression metrics:我使用以下代码来获取回归指标:

val rm = new RegressionMetrics(
  fit_comparison.rdd.map(x =>
  (x(0).asInstanceOf[Double], x(1).asInstanceOf[Double])))

When I try to get specific regression metrics as below, I get the "java.lang.Integer cannot be case to java.lang.Double" error.当我尝试获得如下特定的回归指标时,我收到“java.lang.Integer 不能是 java.lang.Double 的大小写”错误。

println("MSE: " + rm.meanSquaredError)

Do I first have to convert the first column of "fit_comparison" to a double?我是否首先必须将“fit_comparison”的第一列转换为双精度数?

Any help is appreciated, thank you,任何帮助表示赞赏,谢谢,

You can try this :你可以试试这个:

val rm = new RegressionMetrics
(fit_comparison.rdd.map(x =>
   (x(0).asInstanceOf[Int].toDouble, 
    x(1).asInstanceOf[Int].toDouble)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Spark scala: java.lang.ClassCastException: java.lang.Integer cannot be cast to scala.collection.Seq - Spark scala: java.lang.ClassCastException: java.lang.Integer cannot be cast to scala.collection.Seq java.lang.Integer不能使用Scala中的任何类型转换为java.lang.Byte错误 - java.lang.Integer cannot be cast to java.lang.Byte error with Any type in Scala scala.collection.mutable.ArrayBuffer无法转换为java.lang.Double(Spark) - scala.collection.mutable.ArrayBuffer cannot be cast to java.lang.Double (Spark) 为什么java.lang.Integer和java.lang.Double的最小上限被推断为非循环类型? - Why is the least upper bound of java.lang.Integer and java.lang.Double inferred as a acyclic type? Scala / Play ClassCastException:无法将java.lang.Integer转换为java.lang.Long] - Scala/Play ClassCastException: Cannot cast java.lang.Integer to java.lang.Long] 异常:java.lang.Double 不能转换为 [D - Exception:java.lang.Double cannot be cast to [D org.apache.spark.ml.linalg.DenseVector 不能转换为 java.lang.Double - org.apache.spark.ml.linalg.DenseVector cannot be cast to java.lang.Double 编译错误? java.lang.ClassCastException:scala.collection.mutable.WrappedArray $ ofRef无法强制转换为java.lang.Integer - Compiler bug? java.lang.ClassCastException: scala.collection.mutable.WrappedArray$ofRef cannot be cast to java.lang.Integer 我如何在scala中使用java.lang.Integer - How do I use java.lang.Integer inside scala ClassCastException:java.lang.Double 不能转换为 org。 apache.spark.mllib.linalg.Vector 使用 LabeledPoint 时 - ClassCastException: java.lang.Double cannot be cast to org. apache.spark.mllib.linalg.Vector While using LabeledPoint
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM