You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Cheng Lian (JIRA)" <ji...@apache.org> on 2016/02/28 19:41:18 UTC
[jira] [Updated] (SPARK-13540) Nested classes within Scala objects
can't be used as Dataset element type
[ https://issues.apache.org/jira/browse/SPARK-13540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Cheng Lian updated SPARK-13540:
-------------------------------
Summary: Nested classes within Scala objects can't be used as Dataset element type (was: Scala object can't be added to OuterScopes)
> Nested classes within Scala objects can't be used as Dataset element type
> -------------------------------------------------------------------------
>
> Key: SPARK-13540
> URL: https://issues.apache.org/jira/browse/SPARK-13540
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 2.0.0
> Reporter: Cheng Lian
> Assignee: Cheng Lian
>
> Add the following test case to {{DatasetSuite}} to reproduce this issue:
> {code}
> object OuterObject {
> case class InnerClass(a: String)
> }
> test("foo") {
> OuterScopes.addOuterScope(OuterObject)
> Seq(OuterObject.InnerClass("foo")).toDS()
> }
> {code}
> Exception thrown:
> {noformat}
> org.apache.spark.sql.AnalysisException: Unable to generate an encoder for inner class `org.apache.spark.sql.OuterObject$InnerClass` without access to the scope that this class was defined in.
> {noformat}
> The reason is that an inner class within a Scala object is translated into a static nested class, and no outer scope is needed. But the analyzer still thinks there should be an outer scope.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org