[
https://issues.apache.org/jira/browse/SPARK-15507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15315637#comment-15315637
]
koert kuipers edited comment on SPARK-15507 at 6/4/16 9:14 PM:
---------------------------------------------------------------
that doesnt work for RDD[Row], and we update items within the row (or append to
the row) while updating schema accordingly.
i think if this functionality is disabled we have to first get schema for item
of type Y we intend to append to a row using ScalaReflection.schemaFor[Y], then
convert the item by traversing it and replacing all products with rows.
was (Author: koert):
that doesnt work for RDD[Row], and we update items within the row (or append to
the row) while updating schema accordingly.
i think if this functionality is disabled we have to first get schema for item
of type Y we append to row using ScalaReflection.schemaFor[Y], then convert the
item by traversing it and replacing all products with rows.
> ClassCastException: SomeCaseClass cannot be cast to org.apache.spark.sql.Row
> ----------------------------------------------------------------------------
>
> Key: SPARK-15507
> URL: https://issues.apache.org/jira/browse/SPARK-15507
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Environment: spark 2.0.0-SNAPSHOT may 24
> Reporter: koert kuipers
>
> given this code:
> {noformat}
> case class Test(a: Int, b: String)
> val rdd = sc.parallelize(List(Row(List(Test(5, "ha"), Test(6, "ba")))))
> val schema = StructType(Seq(
> StructField("x", ArrayType(
> StructType(Seq(
> StructField("a", IntegerType, false),
> StructField("b", StringType, true)
> )),
> true)
> , true)
> ))
> val df = sqlc.createDataFrame(rdd, schema)
> df.show
> {noformat}
> this works fine in spark 1.6.1 and gives:
> {noformat}
> +----------------+
> | x|
> +----------------+
> |[[5,ha], [6,ba]]|
> +----------------+
> {noformat}
> but in spark 2.0.0-SNAPSHOT i get:
> {noformat}
> org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in
> stage 0.0 failed 1 times, most recent failure: Lost task 0.0 in stage 0.0
> (TID 0, localhost): java.lang.RuntimeException: Error while encoding:
> java.lang.ClassCastException: Test cannot be cast to org.apache.spark.sql.Row
> [info] getexternalrowfield(input[0, org.apache.spark.sql.Row, false], 0, x,
> IntegerType) AS x#0
> [info] +- getexternalrowfield(input[0, org.apache.spark.sql.Row, false], 0,
> x, IntegerType)
> [info] +- input[0, org.apache.spark.sql.Row, false]
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]