[ 
https://issues.apache.org/jira/browse/SPARK-21263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16074113#comment-16074113
 ] 

Hyukjin Kwon commented on SPARK-21263:
--------------------------------------

Let me propose a change soon but Hm.. [~falaki], however, isn't it unrelated 
with the parse mode as it is parsed correctly but the parsed one lost data 
partially?

{code}
scala> spark.read.schema("a DOUBLE").option("mode", 
"FAILFAST").csv(Seq("10u12").toDS).show()
+----+
|   a|
+----+
|10.0|
+----+
{code}

{code}
scala> spark.read.schema("a INT").option("mode", 
"FAILFAST").csv(Seq("10u12").toDS).show()
...
org.apache.spark.SparkException: Malformed records are detected in record 
parsing. Parse Mode: FAILFAST.
...
Caused by: java.lang.NumberFormatException: For input string: "10u12"
{code}

> NumberFormatException is not thrown while converting an invalid string to 
> float/double
> --------------------------------------------------------------------------------------
>
>                 Key: SPARK-21263
>                 URL: https://issues.apache.org/jira/browse/SPARK-21263
>             Project: Spark
>          Issue Type: Bug
>          Components: Java API
>    Affects Versions: 2.1.1
>            Reporter: Navya Krishnappa
>
> When reading a below-mentioned data by specifying user-defined schema, 
> exception is not thrown. Refer the details :
> *Data:* 
> 'PatientID','PatientName','TotalBill'
> '1000','Patient1','10u000'
> '1001','Patient2','30000'
> '1002','Patient3','40000'
> '1003','Patient4','50000'
> '1004','Patient5','60000'
> *Source code*: 
> Dataset dataset = sparkSession.read().schema(schema)
> .option(INFER_SCHEMA, "true")
> .option(DELIMITER, ",")
> .option(QUOTE, "\"")
> .option(MODE, Mode.PERMISSIVE)
> .csv(sourceFile);
> When we collect the dataset data: 
> dataset.collectAsList();
> *Schema1*: 
> [StructField(PatientID,IntegerType,true), 
> StructField(PatientName,StringType,true), 
> StructField(TotalBill,IntegerType,true)]
> *Result *: Throws NumerFormatException 
> Caused by: java.lang.NumberFormatException: For input string: "10u000"
> *Schema2*: 
> [StructField(PatientID,IntegerType,true), 
> StructField(PatientName,StringType,true), 
> StructField(TotalBill,DoubleType,true)]
> *Actual Result*: 
> "PatientID": 1000,
> "NumberOfVisits": "400",
> "TotalBill": 10,
> *Expected Result*: Should throw NumberFormatException for input string 
> "10u000"



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to