[ 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) |
Free forum by Nabble | Edit this page |