为什么 DataFrame Row.getAs[Vector] 会失败



我有一个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))

有关EncoderDataset的更多信息,您可以阅读此

SO问题

相关内容

  • 没有找到相关文章

最新更新