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