[ https://issues.apache.org/jira/browse/CARBONDATA-3249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
xubo245 updated CARBONDATA-3249: -------------------------------- Description: 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} was:SQL and SDK float value is different > 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 > 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)