Github user gengliangwang commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22895#discussion_r229553381
  
    --- Diff: 
external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDataToCatalyst.scala 
---
    @@ -100,9 +100,14 @@ case class AvroDataToCatalyst(
           case NonFatal(e) => parseMode match {
             case PermissiveMode => nullResultRow
             case FailFastMode =>
    -          throw new SparkException("Malformed records are detected in 
record parsing. " +
    +          val msg = if (e.getMessage != null) {
    +            e.getMessage + "\n"
    +          } else {
    +            ""
    +          }
    +          throw new SparkException(msg + "Malformed records are detected 
in record parsing. " +
                 s"Current parse Mode: ${FailFastMode.name}. To process 
malformed records as null " +
    -            "result, try setting the option 'mode' as 'PERMISSIVE'.", 
e.getCause)
    +            "result, try setting the option 'mode' as 'PERMISSIVE'.", e)
    --- End diff --
    
    After the change, the backtrace will contain:
    ```
    Caused by: org.apache.spark.sql.catalyst.util.BadRecordException: 
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('1' (code 
49)): was expecting a colon to separate field name and value
     at [Source: (InputStreamReader); line: 1, column: 7]
        at 
org.apache.spark.sql.catalyst.json.JacksonParser.parse(JacksonParser.scala:414)
        at 
org.apache.spark.sql.catalyst.expressions.JsonToStructs$$anonfun$parser$1.apply(jsonExpressions.scala:581)
        at 
org.apache.spark.sql.catalyst.expressions.JsonToStructs$$anonfun$parser$1.apply(jsonExpressions.scala:581)
        at 
org.apache.spark.sql.catalyst.util.FailureSafeParser.parse(FailureSafeParser.scala:66)
        ... 20 more
    ```


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to