Repository: hive
Updated Branches:
  refs/heads/branch-3 f7daaea7e -> 6e6849ce9


HIVE-19868 : Add support for float aggregator (Slim Bouguerra via Ashutosh 
Chauhan)

Signed-off-by: Ashutosh Chauhan <hashut...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6e6849ce
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6e6849ce
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6e6849ce

Branch: refs/heads/branch-3
Commit: 6e6849ce9904f6dfd20f6bfcdd36f7f7e3c402b4
Parents: f7daaea
Author: Slim Bouguerra <slim.bougue...@gmail.com>
Authored: Wed Jun 13 10:13:57 2018 -0500
Committer: Ashutosh Chauhan <hashut...@apache.org>
Committed: Wed Jun 13 10:15:46 2018 -0500

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java | 3 +++
 .../results/clientpositive/druid/druidmini_expressions.q.out   | 6 +++---
 .../results/clientpositive/druid/druidmini_extractTime.q.out   | 6 +++---
 ql/src/test/results/clientpositive/druid/druidmini_test1.q.out | 6 +++---
 4 files changed, 12 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/6e6849ce/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java
----------------------------------------------------------------------
diff --git 
a/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java
 
b/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java
index 597761b..5a48d0f 100644
--- 
a/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java
+++ 
b/druid-handler/src/java/org/apache/hadoop/hive/druid/DruidStorageHandlerUtils.java
@@ -50,6 +50,7 @@ import io.druid.metadata.SQLMetadataConnector;
 import io.druid.metadata.storage.mysql.MySQLConnector;
 import io.druid.query.aggregation.AggregatorFactory;
 import io.druid.query.aggregation.DoubleSumAggregatorFactory;
+import io.druid.query.aggregation.FloatSumAggregatorFactory;
 import io.druid.query.aggregation.LongSumAggregatorFactory;
 import io.druid.query.expression.LikeExprMacro;
 import io.druid.query.expression.RegexpExtractExprMacro;
@@ -825,6 +826,8 @@ public final class DruidStorageHandlerUtils {
         af = new LongSumAggregatorFactory(columnNames.get(i), 
columnNames.get(i));
         break;
       case FLOAT:
+        af = new FloatSumAggregatorFactory(columnNames.get(i), 
columnNames.get(i));
+        break;
       case DOUBLE:
         af = new DoubleSumAggregatorFactory(columnNames.get(i), 
columnNames.get(i));
         break;

http://git-wip-us.apache.org/repos/asf/hive/blob/6e6849ce/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out 
b/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
index b34f47b..fd77a91 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
@@ -90,7 +90,7 @@ FROM druid_table_n0 WHERE ceil(cfloat) > 0 AND floor(cdouble) 
* 2 < 1000 OR ln(c
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@druid_table_n0
 POSTHOOK: Output: hdfs://### HDFS PATH ###
-19884.64700973034      27373419        14472   8.51628242804E11        
851620413654    68151649880
+19884.646918177605     27373419        14472   8.51628242804E11        
851620413654    68151649880
 PREHOOK: query: SELECT  SUM(cfloat + 1), CAST(SUM(cdouble + ctinyint) AS 
INTEGER), SUM(ctinyint) + 1 , CAST(SUM(csmallint) + SUM(cint) AS DOUBLE), 
SUM(cint), SUM(cbigint)
 FROM druid_table_n0 WHERE ceil(cfloat) > 0 AND floor(cdouble) * 2 < 1000
 PREHOOK: type: QUERY
@@ -101,7 +101,7 @@ FROM druid_table_n0 WHERE ceil(cfloat) > 0 AND 
floor(cdouble) * 2 < 1000
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@druid_table_n0
 POSTHOOK: Output: hdfs://### HDFS PATH ###
-54430.27000427246      -3740445        51268   1.31919188502E11        
131922984948    92160895030
+54430.269943237305     -3740445        51268   1.31919188502E11        
131922984948    92160895030
 PREHOOK: query: SELECT  SUM(cfloat + 1), CAST(SUM(cdouble + ctinyint) AS 
INTEGER), SUM(ctinyint) + 1 , CAST(SUM(csmallint) + SUM(cint) AS DOUBLE), 
SUM(cint), SUM(cbigint)
 FROM druid_table_n0 WHERE  ln(cdouble) / log10(10) > 0 AND COS(cint) > 0 OR 
SIN(cdouble) > 1
 PREHOOK: type: QUERY
@@ -112,7 +112,7 @@ FROM druid_table_n0 WHERE  ln(cdouble) / log10(10) > 0 AND 
COS(cint) > 0 OR SIN(
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@druid_table_n0
 POSTHOOK: Output: hdfs://### HDFS PATH ###
--2389.5169917345047    27640645        -5707   7.19705549994E11        
719697428706    13774723379
+-2389.517022252083     27640645        -5707   7.19705549994E11        
719697428706    13774723379
 PREHOOK: query: SELECT  SUM(cfloat + 1), CAST(SUM(cdouble + ctinyint) AS 
INTEGER), SUM(ctinyint) + 1 , CAST(SUM(csmallint) + SUM(cint) AS DOUBLE), 
SUM(cint), SUM(cbigint)
 FROM druid_table_n0 WHERE  SIN(cdouble) > 1
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/6e6849ce/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out 
b/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
index 442ae35..f21847b 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
@@ -708,8 +708,8 @@ POSTHOOK: query: SELECT CAST(`__time` AS TIMESTAMP) AS 
`x_time`, SUM(cfloat)  FR
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@druid_table
 POSTHOOK: Output: hdfs://### HDFS PATH ###
-1969-12-31 15:59:00    -4532.569952011108
-1969-12-31 16:00:00    -35057.67698967457
+1969-12-31 15:59:00    -4532.570196151733
+1969-12-31 16:00:00    -35057.677050709724
 PREHOOK: query: explain SELECT CAST(`__time` AS DATE) AS `x_date`, SUM(cfloat) 
 FROM druid_table GROUP BY CAST(`__time` AS DATE) ORDER BY `x_date` LIMIT 5
 PREHOOK: type: QUERY
 POSTHOOK: query: explain SELECT CAST(`__time` AS DATE) AS `x_date`, 
SUM(cfloat)  FROM druid_table GROUP BY CAST(`__time` AS DATE) ORDER BY `x_date` 
LIMIT 5
@@ -742,7 +742,7 @@ POSTHOOK: query: SELECT CAST(`__time` AS DATE) AS `x_date`, 
SUM(cfloat)  FROM dr
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@druid_table
 POSTHOOK: Output: hdfs://### HDFS PATH ###
-1969-12-31     -39590.24694168568
+1969-12-31     -39590.24724686146
 PREHOOK: query: SELECT CAST(`__time` AS DATE) AS `x_date` FROM druid_table 
ORDER BY `x_date` LIMIT 5
 PREHOOK: type: QUERY
 PREHOOK: Input: default@druid_table

http://git-wip-us.apache.org/repos/asf/hive/blob/6e6849ce/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out 
b/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
index 59672a0..89da36a 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
@@ -118,7 +118,7 @@ FROM druid_table_n3 GROUP BY floor_year(`__time`)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@druid_table_n3
 POSTHOOK: Output: hdfs://### HDFS PATH ###
-1969-01-01 00:00:00.0 US/Pacific       -39590.24694168568      
2.7308662809692383E7    -39967  7781089 1408069801800   10992545287
+1969-01-01 00:00:00.0 US/Pacific       -39590.24724686146      
2.7308662809692383E7    -39967  7781089 1408069801800   10992545287
 PREHOOK: query: EXPLAIN SELECT floor_year(`__time`), MIN(cfloat), 
MIN(cdouble), MIN(ctinyint), MIN(csmallint),MIN(cint), MIN(cbigint)
 FROM druid_table_n3 GROUP BY floor_year(`__time`)
 PREHOOK: type: QUERY
@@ -155,7 +155,7 @@ FROM druid_table_n3 GROUP BY floor_year(`__time`)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@druid_table_n3
 POSTHOOK: Output: hdfs://### HDFS PATH ###
-1969-01-01 00:00:00.0 US/Pacific       -1790.778       -308691.84375   2       
14255   -1073279343     -8577981133
+1969-01-01 00:00:00.0 US/Pacific       -1790.7781      -308691.84375   2       
14255   -1073279343     -8577981133
 PREHOOK: query: EXPLAIN SELECT floor_year(`__time`), MAX(cfloat), 
MAX(cdouble), MAX(ctinyint), MAX(csmallint),MAX(cint), MAX(cbigint)
 FROM druid_table_n3 GROUP BY floor_year(`__time`)
 PREHOOK: type: QUERY
@@ -192,7 +192,7 @@ FROM druid_table_n3 GROUP BY floor_year(`__time`)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@druid_table_n3
 POSTHOOK: Output: hdfs://### HDFS PATH ###
-1969-01-01 00:00:00.0 US/Pacific       769.164 1.9565518E7     -45     -8101   
1276572707      4923772860
+1969-01-01 00:00:00.0 US/Pacific       769.16394       1.9565518E7     -45     
-8101   1276572707      4923772860
 PREHOOK: query: EXPLAIN SELECT cstring1, SUM(cdouble) as s FROM druid_table_n3 
GROUP BY cstring1 ORDER BY s ASC LIMIT 10
 PREHOOK: type: QUERY
 POSTHOOK: query: EXPLAIN SELECT cstring1, SUM(cdouble) as s FROM 
druid_table_n3 GROUP BY cstring1 ORDER BY s ASC LIMIT 10

Reply via email to