我正在尝试使用mapGroups
返回 SparseMatrix 作为列之一来执行聚合,并对列求和。
我case class
为映射的行创建了一个模式,以便提供列名。矩阵列是键入的org.apache.spark.mllib.linalg.Matrix
。toDF
如果我在执行聚合 () 之前没有运行,select(sum("mycolumn")
我会收到一种类型不匹配错误 ( required: org.apache.spark.sql.TypedColumn[MySchema,?]
)。如果我包含toDF
我会收到另一个类型不匹配错误:cannot resolve 'sum(mycolumn)' due to data type mismatch: function sum requires numeric types, not org.apache.spark.mllib.linalg.MatrixUDT
. 那么正确的方法是什么?