[ https://issues.apache.org/jira/browse/SPARK-13118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15196427#comment-15196427 ]
Reynold Xin commented on SPARK-13118: ------------------------------------- I'm moving this out to its own ticket. I think there is still a problem, and it lies in our way to get the full name of a class in ScalaReflection.scala {code} /** Returns the full class name for a type. */ def getClassNameFromType(tpe: `Type`): String = { tpe.erasure.typeSymbol.asClass.fullName } {code} According to the Scala doc here: http://www.scala-lang.org/api/2.11.7/scala-reflect/index.html#scala.reflect.api.Symbols$ClassSymbol {noformat} abstract def fullName: String The encoded full path name of this symbol, where outer names and inner names are separated by periods. {noformat} This causes problem with inner classes. For example {code} scala> Class.forName("org.apache.spark.mllib.tree.model.DecisionTreeModel.SaveLoadV1_0.SplitData") java.lang.ClassNotFoundException: org.apache.spark.mllib.tree.model.DecisionTreeModel.SaveLoadV1_0.SplitData at scala.reflect.internal.util.AbstractFileClassLoader.findClass(AbstractFileClassLoader.scala:62) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) ... 49 elided scala> Class.forName("org.apache.spark.mllib.tree.model.DecisionTreeModel$SaveLoadV1_0$SplitData") res6: Class[_] = class org.apache.spark.mllib.tree.model.DecisionTreeModel$SaveLoadV1_0$SplitData {code} > Support for classes defined in package objects > ---------------------------------------------- > > Key: SPARK-13118 > URL: https://issues.apache.org/jira/browse/SPARK-13118 > Project: Spark > Issue Type: Improvement > Components: SQL > Affects Versions: 1.6.0 > Reporter: Michael Armbrust > > When you define a class inside of a package object, the name ends up being > something like {{org.mycompany.project.package$MyClass}}. However, when > reflect on this we try and load {{org.mycompany.project.MyClass}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org