diff --git a/mllib/src/main/scala/org/apache/spark/mllib/linalg/Matrices.scala b/mllib/src/main/scala/org/apache/spark/mllib/linalg/Matrices.scala
index 849f44295f089ffddef278bd49cb81a4cd53155d..d1a174063caba8baca9a24115ef8fc30adc9d36e 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/linalg/Matrices.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/linalg/Matrices.scala
@@ -187,6 +187,8 @@ private[spark] class MatrixUDT extends UserDefinedType[Matrix] {
 
   override def hashCode(): Int = 1994
 
+  override def typeName: String = "matrix"
+
   private[spark] override def asNullable: MatrixUDT = this
 }
 
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/linalg/Vectors.scala b/mllib/src/main/scala/org/apache/spark/mllib/linalg/Vectors.scala
index 2cda9b252ee06e946da647ed742e556efdebf4b0..328dbe2ce11fa0b5a9456b141d9603513d191d7c 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/linalg/Vectors.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/linalg/Vectors.scala
@@ -185,6 +185,8 @@ private[spark] class VectorUDT extends UserDefinedType[Vector] {
 
   override def hashCode: Int = 7919
 
+  override def typeName: String = "vector"
+
   private[spark] override def asNullable: VectorUDT = this
 }
 
diff --git a/mllib/src/test/scala/org/apache/spark/mllib/linalg/MatricesSuite.scala b/mllib/src/test/scala/org/apache/spark/mllib/linalg/MatricesSuite.scala
index 96f677db3f377041e0b98a79d7e81a4120faf95e..0d2cec58e2c0320c650f292804c8186f88131182 100644
--- a/mllib/src/test/scala/org/apache/spark/mllib/linalg/MatricesSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/mllib/linalg/MatricesSuite.scala
@@ -436,5 +436,7 @@ class MatricesSuite extends FunSuite {
     Seq(dm1, dm2, dm3, sm1, sm2, sm3).foreach {
         mat => assert(mat.toArray === mUDT.deserialize(mUDT.serialize(mat)).toArray)
     }
+    assert(mUDT.typeName == "matrix")
+    assert(mUDT.simpleString == "matrix")
   }
 }
diff --git a/mllib/src/test/scala/org/apache/spark/mllib/linalg/VectorsSuite.scala b/mllib/src/test/scala/org/apache/spark/mllib/linalg/VectorsSuite.scala
index 5def899cea117a6b1db8186ad7bbff9b48e47170..2839c4c289b2de0f9da5943dcbb66bb474ac73a1 100644
--- a/mllib/src/test/scala/org/apache/spark/mllib/linalg/VectorsSuite.scala
+++ b/mllib/src/test/scala/org/apache/spark/mllib/linalg/VectorsSuite.scala
@@ -187,6 +187,8 @@ class VectorsSuite extends FunSuite {
     for (v <- Seq(dv0, dv1, sv0, sv1)) {
       assert(v === udt.deserialize(udt.serialize(v)))
     }
+    assert(udt.typeName == "vector")
+    assert(udt.simpleString == "vector")
   }
 
   test("fromBreeze") {