Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.5.0
-
None
-
None
-
spark 2.2
Description
Incorrect result set while executing query with histogram_numeric
Steps to reproduce:
1) Create a table in carbondata and load data in it.
a) CREATE TABLE uniqdata (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES ("TABLE_BLOCKSIZE"= "256 MB")
b) LOAD DATA INPATH 'HDFS_URL/BabuStore/Data/uniqdata/2000_UniqData.csv' into table uniqdata OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')
c) LOAD DATA INPATH 'hdfs://hadoop-master:54311/BabuStore/Data/uniqdata/4000_UniqData.csv' into table uniqdata OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')
d) LOAD DATA INPATH 'hdfs://hadoop-master:54311/BabuStore/Data/uniqdata/6000_UniqData.csv' into table uniqdata OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')
e) LOAD DATA INPATH 'hdfs://hadoop-master:54311/BabuStore/Data/uniqdata/7000_UniqData.csv' into table uniqdata OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')
f) LOAD DATA INPATH 'hdfs://hadoop-master:54311/BabuStore/Data/uniqdata/3000_1_UniqData.csv' into table uniqdata OPTIONS('DELIMITER'=',' , 'QUOTECHAR'='"','BAD_RECORDS_ACTION'='FORCE','FILEHEADER'='CUST_ID,CUST_NAME,ACTIVE_EMUI_VERSION,DOB,DOJ,BIGINT_COLUMN1,BIGINT_COLUMN2,DECIMAL_COLUMN1,DECIMAL_COLUMN2,Double_COLUMN1,Double_COLUMN2,INTEGER_COLUMN1')
2) create a table with hive and load data in it:
a) CREATE TABLE uniqdata_h (CUST_ID int,CUST_NAME String,ACTIVE_EMUI_VERSION string, DOB timestamp, DOJ timestamp, BIGINT_COLUMN1 bigint,BIGINT_COLUMN2 bigint,DECIMAL_COLUMN1 decimal(30,10), DECIMAL_COLUMN2 decimal(36,10),Double_COLUMN1 double, Double_COLUMN2 double,INTEGER_COLUMN1 int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
b) load data local inpath '/opt/Carbon/CarbonData/TestData/Data/uniqdata/2000_UniqData.csv' into table uniqdata_h
c) load data local inpath '/opt/Carbon/CarbonData/TestData/Data/uniqdata/4000_UniqData.csv' into table uniqdata_h
d) load data local inpath '/opt/Carbon/CarbonData/TestData/Data/uniqdata/6000_UniqData.csv' into table uniqdata_h
e) load data local inpath '/opt/Carbon/CarbonData/TestData/Data/uniqdata/7000_UniqData.csv' into table uniqdata_h
f) load data local inpath '/opt/Carbon/CarbonData/TestData/Data/uniqdata/3000_1_UniqData.csv' into table uniqdata_h
3) Execute the desired Query:
a) on carbon table:
select histogram_numeric(1,2) from uniqdata where CUST_ID IS NULL or DOB IS NOT NULL or BIGINT_COLUMN1 =1233720368578 or DECIMAL_COLUMN1 = 12345678901.1234000058 or Double_COLUMN1 = 1.12345674897976E10 or INTEGER_COLUMN1 IS NULL;
b) on hive table:
select histogram_numeric(1,2) from uniqdata_h where CUST_ID IS NULL or DOB IS NOT NULL or BIGINT_COLUMN1 =1233720368578 or DECIMAL_COLUMN1 = 12345678901.1234000058 or Double_COLUMN1 = 1.12345674897976E10 or INTEGER_COLUMN1 IS NULL;
4) Expected Result:
As there is same data in both tables and we are applying same function on both the tables so, the result should be same.
5) Actual Result:
a) Carbondata:
Output:
------------------------------------------------+
histogram_numeric( 1, 2) |
------------------------------------------------+
[\{"x":1.0,"y":12040.0},\{"x":1.0,"y":10026.0}] |
------------------------------------------------+
1 row selected (8.513 seconds)
b) Hive:
Output:
------------------------------------------------+
histogram_numeric( 1, 2) |
------------------------------------------------+
[\{"x":1.0,"y":11040.0},\{"x":1.0,"y":11026.0}] |
------------------------------------------------+
1 row selected (5.02 seconds)