[ https://issues.apache.org/jira/browse/SPARK-7565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14547957#comment-14547957 ]
Paul Colomiets commented on SPARK-7565: --------------------------------------- The pull request is pretty trivial. I've tested it and it solves the problem for me. > Broken maps in jsonRDD > ---------------------- > > Key: SPARK-7565 > URL: https://issues.apache.org/jira/browse/SPARK-7565 > Project: Spark > Issue Type: Bug > Components: SQL > Affects Versions: 1.4.0 > Reporter: Paul Colomiets > > When I use the following JSON: > {code} > {"obj": {"a": "hello"}} > {code} > And load it with the following python code: > {code} > tf = sc.textFile('test.json') > v = sqlContext.jsonRDD(tf, StructType([StructField("obj", > MapType(StringType(), StringType()), True)])) > v.save('test.parquet', mode='overwrite') > {code} > I get the following error in spark master branch: > {code} > Py4JJavaError: An error occurred while calling o78.save. > : org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 > in stage 5.0 failed 1 times, most recent failure: Lost task 1.0 in stage 5.0 > (TID 11, localhost): java.lang.ClassCastException: java.lang.String cannot be > cast to org.apache.spark.sql.types.UTF8String > at > org.apache.spark.sql.parquet.RowWriteSupport.writePrimitive(ParquetTableSupport.scala:201) > at > org.apache.spark.sql.parquet.RowWriteSupport.writeValue(ParquetTableSupport.scala:192) > at > org.apache.spark.sql.parquet.RowWriteSupport$$anonfun$writeMap$2.apply(ParquetTableSupport.scala:284) > at > org.apache.spark.sql.parquet.RowWriteSupport$$anonfun$writeMap$2.apply(ParquetTableSupport.scala:281) > at > scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772) > at scala.collection.immutable.Map$Map1.foreach(Map.scala:109) > at > scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:771) > at > org.apache.spark.sql.parquet.RowWriteSupport.writeMap(ParquetTableSupport.scala:281) > at > org.apache.spark.sql.parquet.RowWriteSupport.writeValue(ParquetTableSupport.scala:186) > at > org.apache.spark.sql.parquet.RowWriteSupport.write(ParquetTableSupport.scala:171) > at > org.apache.spark.sql.parquet.RowWriteSupport.write(ParquetTableSupport.scala:134) > at > parquet.hadoop.InternalParquetRecordWriter.write(InternalParquetRecordWriter.java:120) > at > parquet.hadoop.ParquetRecordWriter.write(ParquetRecordWriter.java:81) > at > parquet.hadoop.ParquetRecordWriter.write(ParquetRecordWriter.java:37) > at > org.apache.spark.sql.parquet.ParquetRelation2.org$apache$spark$sql$parquet$ParquetRelation2$$writeShard$1(newParquet.scala:699) > at > org.apache.spark.sql.parquet.ParquetRelation2$$anonfun$insert$2.apply(newParquet.scala:717) > at > org.apache.spark.sql.parquet.ParquetRelation2$$anonfun$insert$2.apply(newParquet.scala:717) > at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:63) > at org.apache.spark.scheduler.Task.run(Task.scala:70) > at > org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:213) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > {code} > This worked well in spark 1.3 -- 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