Thanks, Koert. This is great. Please keep them coming.
On Tue, May 24, 2016 at 9:27 AM, Koert Kuipers <ko...@tresata.com> wrote: > https://issues.apache.org/jira/browse/SPARK-15507 > > On Tue, May 24, 2016 at 12:21 PM, Ted Yu <yuzhih...@gmail.com> wrote: > >> Please log a JIRA. >> >> Thanks >> >> On Tue, May 24, 2016 at 8:33 AM, Koert Kuipers <ko...@tresata.com> wrote: >> >>> hello, >>> as we continue to test spark 2.0 SNAPSHOT in-house we ran into the >>> following trying to port an existing application from spark 1.6.1 to spark >>> 2.0.0-SNAPSHOT. >>> >>> given this code: >>> >>> 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 >>> >>> this works fine in spark 1.6.1 and gives: >>> >>> +----------------+ >>> | x| >>> +----------------+ >>> |[[5,ha], [6,ba]]| >>> +----------------+ >>> >>> but in spark 2.0.0-SNAPSHOT i get: >>> >>> 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] >>> >>> >> >