SO问题
我有一个Spark DataFrame,其中有两列类型为String和org.apache.spark.ml.linalg.SparseVector,这工作正常:
data.map(r => r(1).asInstanceOf[Vector])
但是得到
data.map(r => r.getAs[Vector](1))
失败与
错误:找不到数据集中存储类型的编码器。 原始 类型(整数、字符串等(和产品类型(案例类(为 导入spark.implicits._支持 支持序列化 其他类型将在将来的版本中添加。
你能解释一下为什么吗?
试试这个:
data.rdd.map(r => r.getAs[Vector](1))
有关Encoder
和Dataset
的更多信息,您可以阅读此