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:18:58 UTC
[10/10] 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/beb57c6e
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/beb57c6e
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/beb57c6e
Branch: refs/heads/master
Commit: beb57c6e43586ec8be770975a009b955c8a9840e
Parents: 9dea3b0
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:17:57 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/beb57c6e/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/beb57c6e/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/beb57c6e/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 144032e..9ffcdd8 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
@@ -1319,16 +1319,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