我有一个Spark DataFrame,它有两列String和org.apache.spark.ml.linalg.SparseVector类型,这很好用:
data.map(r => r(1).asInstanceOf[Vector])
但是getAs
data.map(r => r.getAs[Vector](1))
失败
错误:无法找到存储在数据集中的类型的编码器。原始 types(Int,String等)和Product类型(case类) 通过导入spark.implicits._支持序列化 其他类型将在未来版本中添加。
请你能解释一下原因吗?
答案 0 :(得分:0)
尝试一下:
ADD mysql /var/lib/mysql/
有关data.rdd.map(r => r.getAs[Vector](1))
和Encoder
的更多信息,您可以阅读this SO question