You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Rishabh Bhardwaj (JIRA)" <ji...@apache.org> on 2015/09/10 12:46:47 UTC
[jira] [Created] (SPARK-10533) DataFrame filter is not handling
float/double with Scientific Notation 'e' / 'E'
Rishabh Bhardwaj created SPARK-10533:
----------------------------------------
Summary: DataFrame filter is not handling float/double with Scientific Notation 'e' / 'E'
Key: SPARK-10533
URL: https://issues.apache.org/jira/browse/SPARK-10533
Project: Spark
Issue Type: Bug
Components: SQL
Affects Versions: 1.4.1
Environment: MAC OS X
Reporter: Rishabh Bhardwaj
Priority: Minor
In DataFrames filter operation,when giving float comparison with e (2.0e2) it is not converting the comparison constant as expected (200.0 in this case).
For example:
val df = sqlContext.createDataFrame(Seq(("a",1.0),("b",2.0),("c",3.0)))
df.filter("_2 < 2.0e1").show
+--+---+
|_1| _2|
+--+---+
| a|1.0|
+--+---+
It should return all the three records from the dataframe,but is return record which is less than 2.0.
It seems it is just comparing with the mantissa/coefficient.
On the other hand,sqlContext is handling the above case and giving the desired output.
df.resgisterTempTable("df")
sqlContext.sql("select * from df where `_2` < 2.0e1").show
+--+---+
|_1| _2|
+--+---+
| a|1.0|
| b|2.0|
| c|3.0|
+--+---+
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org