You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/07/28 15:48:51 UTC
[8/8] hive git commit: HIVE-20035: write booleans as long when
serializing to druid (Nishant Bangarwa, reviewed by Jesus Camacho Rodriguez)
HIVE-20035: write booleans as long when serializing to druid (Nishant Bangarwa, reviewed by Jesus Camacho Rodriguez)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/c191ea5e
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/c191ea5e
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/c191ea5e
Branch: refs/heads/branch-3
Commit: c191ea5e94e5e54f3191bdaf4c2a549665d94230
Parents: c3bdc8b
Author: Nishant Bangarwa <ni...@gmail.com>
Authored: Mon Jul 23 22:50:46 2018 -0700
Committer: Jesus Camacho Rodriguez <jc...@apache.org>
Committed: Sat Jul 28 08:48:35 2018 -0700
----------------------------------------------------------------------
.../hadoop/hive/druid/serde/DruidSerDe.java | 2 +-
.../clientpositive/druidmini_expressions.q | 7 ++--
.../druid/druidmini_expressions.q.out | 37 +++++++++++++++++---
3 files changed, 39 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/c191ea5e/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java
----------------------------------------------------------------------
diff --git a/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java b/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java
index fcde538..47924a6 100644
--- a/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java
+++ b/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java
@@ -346,7 +346,7 @@ import static org.joda.time.format.ISODateTimeFormat.dateOptionalTimeParser;
break;
case BOOLEAN:
res = ((BooleanObjectInspector) fields.get(i).getFieldObjectInspector())
- .get(values.get(i));
+ .get(values.get(i)) ? 1L : 0L;
break;
default:
throw new SerDeException("Unsupported type: " + types[i].getPrimitiveCategory());
http://git-wip-us.apache.org/repos/asf/hive/blob/c191ea5e/ql/src/test/queries/clientpositive/druidmini_expressions.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/druidmini_expressions.q b/ql/src/test/queries/clientpositive/druidmini_expressions.q
index 7857973..273c803 100644
--- a/ql/src/test/queries/clientpositive/druidmini_expressions.q
+++ b/ql/src/test/queries/clientpositive/druidmini_expressions.q
@@ -127,12 +127,15 @@ explain SELECT DATE_ADD(cast(`__time` as date), CAST((cdouble / 1000) AS INT)) a
SELECT DATE_ADD(cast(`__time` as date), CAST((cdouble / 1000) AS INT)) as date_1, DATE_SUB(cast(`__time` as date), CAST((cdouble / 1000) AS INT)) as date_2 from druid_table_n0 order by date_1, date_2 limit 3;
-- Boolean Values
+-- Expected results of this query are wrong due to https://issues.apache.org/jira/browse/CALCITE-2319
+-- It should get fixed once we upgrade calcite
+ EXPLAIN SELECT cboolean2, count(*) from druid_table_n0 GROUP BY cboolean2;
SELECT cboolean2, count(*) from druid_table_n0 GROUP BY cboolean2;
-
+
-- Expected results of this query are wrong due to https://issues.apache.org/jira/browse/CALCITE-2319
-- It should get fixed once we upgrade calcite
SELECT ctinyint > 2, count(*) from druid_table_n0 GROUP BY ctinyint > 2;
-
+
EXPLAIN SELECT ctinyint > 2, count(*) from druid_table_n0 GROUP BY ctinyint > 2;
DROP TABLE druid_table_n0;
http://git-wip-us.apache.org/repos/asf/hive/blob/c191ea5e/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 d6ea990..51470a4 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
@@ -1292,16 +1292,45 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
1969-03-19 1970-10-14
1969-11-13 1970-02-17
PREHOOK: query: -- Boolean Values
- SELECT cboolean2, count(*) from druid_table_n0 GROUP BY cboolean2
+
+
+ EXPLAIN SELECT cboolean2, count(*) from druid_table_n0 GROUP BY cboolean2
+PREHOOK: type: QUERY
+POSTHOOK: query: -- Boolean Values
+
+
+ EXPLAIN SELECT cboolean2, count(*) from druid_table_n0 GROUP BY cboolean2
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: druid_table_n0
+ properties:
+ druid.fieldNames cboolean2,$f1
+ druid.fieldTypes boolean,bigint
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_n0","granularity":"all","dimensions":[{"type":"default","dimension":"cboolean2","outputName":"cboolean2","outputType":"LONG"}],"limitSpec":{"type":"default"},"aggregations":[{"type":"count","name":"$f1"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.type groupBy
+ Select Operator
+ expressions: cboolean2 (type: boolean), $f1 (type: bigint)
+ outputColumnNames: _col0, _col1
+ ListSink
+
+PREHOOK: query: SELECT cboolean2, count(*) from druid_table_n0 GROUP BY cboolean2
PREHOOK: type: QUERY
PREHOOK: Input: default@druid_table_n0
PREHOOK: Output: hdfs://### HDFS PATH ###
-POSTHOOK: query: -- Boolean Values
- SELECT cboolean2, count(*) from druid_table_n0 GROUP BY cboolean2
+POSTHOOK: query: SELECT cboolean2, count(*) from druid_table_n0 GROUP BY cboolean2
POSTHOOK: type: QUERY
POSTHOOK: Input: default@druid_table_n0
POSTHOOK: Output: hdfs://### HDFS PATH ###
-false 6105
+false 3148
+true 2957
PREHOOK: query: -- Expected results of this query are wrong due to https://issues.apache.org/jira/browse/CALCITE-2319
-- It should get fixed once we upgrade calcite
SELECT ctinyint > 2, count(*) from druid_table_n0 GROUP BY ctinyint > 2