Spark:scala任何转换
我对spark和scala不熟悉。因此,我在类型转换过程中遇到了一些问题。我在spark shell中运行了下一个和平的代码Spark:scala任何转换,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我对spark和scala不熟悉。因此,我在类型转换过程中遇到了一些问题。我在spark shell中运行了下一个和平的代码 scala> val wa=queryResult.first.get(1) wa: Any = WrappedArray(2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0) 那么,我的问题是有没有办法将wa转换为Array[Double]类型?谢谢 因此,
scala> val wa=queryResult.first.get(1)
wa: Any = WrappedArray(2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0)
那么,我的问题是有没有办法将
wa
转换为Array[Double]
类型?谢谢 因此,我成功地执行了所需的转换
scala> queryResult.first.get(1).asInstanceOf[Seq[Double]]
res6: Seq[Double] = WrappedArray(2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0, 2000.0)
DataFrame.first()
返回类型为Row
的实例,该实例支持用于此目的的getAs[T](i:Int)
方法:
queryResult.first().getAs[Seq[Double]](1)
在内部,它执行与您完全相同的操作(
get(i).asInstanceOf[T]
),但建议使用此较短的内置方法。val wa=queryResult.first.get(1).toSeq.map(u.toDouble)
?@RobertUdah,错误:value-toSeq不是任何
My bad的成员。使用toList
@RobertUdah,会引发相同的错误。queryResult
的类型是什么?一个数据帧
?