如何在scala中使用spark数据帧的每一行中的对象方法

时间:2018-06-14 23:15:46

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

我创建了一个包含三列的RDD,其列分别为WrappedArraySparseVectorDenseVector。但是,当我想调用任何SparseVector对象的方法时,此对象始终编译为Any,而不是SparseVector,因此我无法调用它的任何SparseVector方法

例如,给出以下代码:

df.take(1).foreach((r: Row) => {
  println(r(1).toDense())
})

r(1)应该是SparseVector的一个对象,但我无法调用它的toDense方法,因为IntelliJ告诉我r(1)属于类Any,而不是SparseVector。同样的问题也存在于类WrappedArrayDenseVector的其他对象中。

有人可以告诉我如何调用这些方法吗?

0 个答案:

没有答案