@@ -108,16 +108,16 @@ private[spark] class VectorUDT extends UserDefinedType[Vector] {
108108 override def serialize (obj : Any ): Row = {
109109 val row = new GenericMutableRow (4 )
110110 obj match {
111- case sv : SparseVector =>
111+ case SparseVector (size, indices, values) =>
112112 row.setByte(0 , 0 )
113- row.setInt(1 , sv. size)
114- row.update(2 , sv. indices.toSeq)
115- row.update(3 , sv. values.toSeq)
116- case dv : DenseVector =>
113+ row.setInt(1 , size)
114+ row.update(2 , indices.toSeq)
115+ row.update(3 , values.toSeq)
116+ case DenseVector (values) =>
117117 row.setByte(0 , 1 )
118118 row.setNullAt(1 )
119119 row.setNullAt(2 )
120- row.update(3 , dv. values.toSeq)
120+ row.update(3 , values.toSeq)
121121 }
122122 row
123123 }
@@ -271,8 +271,8 @@ object Vectors {
271271 def norm (vector : Vector , p : Double ): Double = {
272272 require(p >= 1.0 )
273273 val values = vector match {
274- case dv : DenseVector => dv.values
275- case sv : SparseVector => sv.values
274+ case DenseVector (vs) => vs
275+ case SparseVector (n, ids, vs) => vs
276276 case v => throw new IllegalArgumentException (" Do not support vector type " + v.getClass)
277277 }
278278 val size = values.size
0 commit comments