You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@carbondata.apache.org by "xiaohui0110 (JIRA)" <ji...@apache.org> on 2019/01/15 04:49:00 UTC
[jira] [Assigned] (CARBONDATA-3249) SQL and SDK float value is
different
[ https://issues.apache.org/jira/browse/CARBONDATA-3249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
xiaohui0110 reassigned CARBONDATA-3249:
---------------------------------------
Assignee: xiaohui0110
> SQL and SDK float value is different
> ------------------------------------
>
> Key: CARBONDATA-3249
> URL: https://issues.apache.org/jira/browse/CARBONDATA-3249
> Project: CarbonData
> Issue Type: Bug
> Reporter: xubo245
> Assignee: xiaohui0110
> Priority: Major
>
> SQL and SDK float value is different
> Code: it's from https://github.com/xubo245/carbondata/commit/537c7265cc4bd755c073501773a523722709338a
> {code:java}
> test("test float") {
> val path = FileFactory.getPath(warehouse + "/sdk1").toString
> FileFactory.deleteAllFilesOfDir(new File(warehouse + "/sdk1"))
> sql("drop table if exists carbon_float")
> var fields: Array[Field] = new Array[Field](1)
> // same column name, but name as boolean type
> fields(0) = new Field("b", DataTypes.FLOAT)
> try {
> val builder = CarbonWriter.builder()
> val writer =
> builder.outputPath(path)
> .uniqueIdentifier(System.nanoTime()).withBlockSize(2)
> .withCsvInput(new Schema(fields)).writtenBy("SparkCarbonDataSourceTest").build()
> var i = 0
> while (i < 1) {
> val array = Array[String](
> "2147483648.1")
> writer.write(array)
> i += 1
> }
> writer.close()
> val reader = CarbonReader.builder(path, "_temp").build
> i = 0
> var floatValueSDK: Float = 0
> while (i < 20 && reader.hasNext) {
> val row = reader.readNextRow.asInstanceOf[Array[AnyRef]]
> println("SDK float value is: " + row(0))
> floatValueSDK = row(0).asInstanceOf[Float]
> i += 1
> }
> reader.close()
> sql("create table carbon_float(floatField float) stored as carbondata")
> sql("insert into carbon_float values('2147483648.1')")
> val df = sql("Select * from carbon_float").collect()
> println("CarbonSession float value is: " + df(0))
> assert(df(0).equals(floatValueSDK))
> } catch {
> case ex: Exception => throw new RuntimeException(ex)
> } finally {
> sql("drop table if exists carbon_float")
> FileFactory.deleteAllFilesOfDir(new File(warehouse + "/sdk1"))
> }
> }
> {code}
> Exception:
> {code:java}
> SDK float value is: 2.14748365E9
> 2019-01-14 18:15:24 AUDIT audit:72 - {"time":"January 14, 2019 2:15:24 AM PST","username":"xubo","opName":"CREATE TABLE","opId":"26423231368673","opStatus":"START"}
> 2019-01-14 18:15:24 AUDIT audit:93 - {"time":"January 14, 2019 2:15:24 AM PST","username":"xubo","opName":"CREATE TABLE","opId":"26423231368673","opStatus":"SUCCESS","opTime":"604 ms","table":"default.carbon_float","extraInfo":{"bad_record_path":"","local_dictionary_enable":"true","external":"false","sort_columns":"","comment":""}}
> 2019-01-14 18:15:24 AUDIT audit:72 - {"time":"January 14, 2019 2:15:24 AM PST","username":"xubo","opName":"INSERT INTO","opId":"26424137339770","opStatus":"START"}
> 2019-01-14 18:15:26 AUDIT audit:93 - {"time":"January 14, 2019 2:15:26 AM PST","username":"xubo","opName":"INSERT INTO","opId":"26424137339770","opStatus":"SUCCESS","opTime":"1479 ms","table":"default.carbon_float","extraInfo":{"SegmentId":"0","DataSize":"408.0B","IndexSize":"254.0B"}}
> CarbonSession float value is: [2.1474836481E9]
> 2019-01-14 18:15:26 AUDIT audit:72 - {"time":"January 14, 2019 2:15:26 AM PST","username":"xubo","opName":"DROP TABLE","opId":"26425973212561","opStatus":"START"}
> 2019-01-14 18:15:27 AUDIT audit:93 - {"time":"January 14, 2019 2:15:27 AM PST","username":"xubo","opName":"DROP TABLE","opId":"26425973212561","opStatus":"SUCCESS","opTime":"393 ms","table":"default.carbon_float","extraInfo":{}}
> org.scalatest.exceptions.TestFailedException: df.apply(0).equals(floatValueSDK) was false
> java.lang.RuntimeException: org.scalatest.exceptions.TestFailedException: df.apply(0).equals(floatValueSDK) was false
> at org.apache.carbondata.spark.testsuite.datetype.FloatTest$$anonfun$1.apply$mcV$sp(FloatTest.scala:20)
> at org.apache.carbondata.spark.testsuite.datetype.FloatTest$$anonfun$1.apply(FloatTest.scala:12)
> at org.apache.carbondata.spark.testsuite.datetype.FloatTest$$anonfun$1.apply(FloatTest.scala:12)
> at org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)
> at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
> at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)