You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by su...@apache.org on 2017/01/13 17:38:14 UTC
hive git commit: HIVE-15537: Nested column pruning: fix issue when
selecting struct field from array/map element (part 2) (Chao Sun,
reviewed by Ferdinand Xu)
Repository: hive
Updated Branches:
refs/heads/master a28b28f32 -> 4066da82c
HIVE-15537: Nested column pruning: fix issue when selecting struct field from array/map element (part 2) (Chao Sun, reviewed by Ferdinand Xu)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/4066da82
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/4066da82
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/4066da82
Branch: refs/heads/master
Commit: 4066da82c722ea2698fa9f66ffa9737cd1a8c235
Parents: a28b28f
Author: Chao Sun <su...@apache.org>
Authored: Tue Jan 3 21:10:13 2017 -0800
Committer: Chao Sun <su...@apache.org>
Committed: Fri Jan 13 09:37:07 2017 -0800
----------------------------------------------------------------------
.../hive/ql/optimizer/ColumnPrunerProcCtx.java | 48 +-
.../clientpositive/nested_column_pruning.q | 50 +-
.../clientpositive/input_testxpath3.q.out | 1 -
.../clientpositive/nested_column_pruning.q.out | 592 ++++++++++++++-----
4 files changed, 528 insertions(+), 163 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/4066da82/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcCtx.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcCtx.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcCtx.java
index 2a0c469..e27fbdb 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcCtx.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ColumnPrunerProcCtx.java
@@ -39,10 +39,10 @@ import org.apache.hadoop.hive.ql.parse.SemanticException;
import org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc;
import org.apache.hadoop.hive.ql.plan.ExprNodeDesc;
import org.apache.hadoop.hive.ql.plan.ExprNodeFieldDesc;
-import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
import org.apache.hadoop.hive.ql.plan.OperatorDesc;
import org.apache.hadoop.hive.ql.plan.SelectDesc;
-import org.apache.hadoop.hive.ql.udf.generic.GenericUDFIndex;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import static org.apache.hadoop.hive.ql.optimizer.FieldNode.mergeFieldNodes;
@@ -239,40 +239,38 @@ public class ColumnPrunerProcCtx implements NodeProcessorCtx {
FieldNode pathToRoot,
List<FieldNode> paths) {
if (desc instanceof ExprNodeColumnDesc) {
- String f = ((ExprNodeColumnDesc) desc).getColumn();
- FieldNode p = new FieldNode(f);
- p.addFieldNodes(pathToRoot);
+ ExprNodeColumnDesc columnDesc = (ExprNodeColumnDesc) desc;
+ FieldNode p = new FieldNode(columnDesc.getColumn());
+ checkListAndMap(columnDesc, pathToRoot, p);
paths.add(p);
} else if (desc instanceof ExprNodeFieldDesc) {
ExprNodeFieldDesc fieldDesc = (ExprNodeFieldDesc) desc;
ExprNodeDesc childDesc = fieldDesc.getDesc();
-
- // Check cases for arr[i].f and map[key].v
- // For these we should not generate paths like arr.f or map.v
- // Otherwise we would have a mismatch between type info and path
- if (childDesc instanceof ExprNodeGenericFuncDesc) {
- ExprNodeGenericFuncDesc funcDesc = (ExprNodeGenericFuncDesc) childDesc;
- if (funcDesc.getGenericUDF() instanceof GenericUDFIndex) {
- getNestedColsFromExprNodeDesc(funcDesc, pathToRoot, paths);
- return;
- }
- }
-
- String f = fieldDesc.getFieldName();
- FieldNode p = new FieldNode(f);
- p.addFieldNodes(pathToRoot);
+ FieldNode p = new FieldNode(fieldDesc.getFieldName());
+ checkListAndMap(fieldDesc, pathToRoot, p);
getNestedColsFromExprNodeDesc(childDesc, p, paths);
} else {
List<ExprNodeDesc> children = desc.getChildren();
- if (children == null || children.isEmpty()) {
- return;
- }
- for (ExprNodeDesc c : children) {
- getNestedColsFromExprNodeDesc(c, pathToRoot, paths);
+ if (children != null) {
+ for (ExprNodeDesc c : children) {
+ getNestedColsFromExprNodeDesc(c, pathToRoot, paths);
+ }
}
}
}
+ private static void checkListAndMap(ExprNodeDesc desc, FieldNode pathToRoot, FieldNode fn) {
+ TypeInfo ti = desc.getTypeInfo();
+
+ // Check cases for arr[i].f and map[key].v
+ // For these we should not generate paths like arr.f or map.v
+ // Otherwise we would have a mismatch between type info and path
+ if (ti.getCategory() != ObjectInspector.Category.LIST
+ && ti.getCategory() != ObjectInspector.Category.MAP) {
+ fn.addFieldNodes(pathToRoot);
+ }
+ }
+
/**
* Create the list of internal columns for select tag of LV
*/
http://git-wip-us.apache.org/repos/asf/hive/blob/4066da82/ql/src/test/queries/clientpositive/nested_column_pruning.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/nested_column_pruning.q b/ql/src/test/queries/clientpositive/nested_column_pruning.q
index 35de3ed..80a791a 100644
--- a/ql/src/test/queries/clientpositive/nested_column_pruning.q
+++ b/ql/src/test/queries/clientpositive/nested_column_pruning.q
@@ -12,14 +12,19 @@ CREATE TABLE nested_tbl_1 (
s1 struct<f1: boolean, f2: string, f3: struct<f4: int, f5: double>, f6: int>,
s2 struct<f7: string, f8: struct<f9 : boolean, f10: array<int>, f11: map<string, boolean>>>,
s3 struct<f12: array<struct<f13:string, f14:int>>>,
- s4 map<string, struct<f15:int>>
+ s4 map<string, struct<f15:int>>,
+ s5 struct<f16: array<struct<f17:string, f18:struct<f19:int>>>>,
+ s6 map<string, struct<f20:array<struct<f21:struct<f22:int>>>>>
) STORED AS PARQUET;
INSERT INTO TABLE nested_tbl_1 SELECT
1, named_struct('f1', false, 'f2', 'foo', 'f3', named_struct('f4', 4, 'f5', cast(5.0 as double)), 'f6', 4),
named_struct('f7', 'f7', 'f8', named_struct('f9', true, 'f10', array(10, 11), 'f11', map('key1', true, 'key2', false))),
named_struct('f12', array(named_struct('f13', 'foo', 'f14', 14), named_struct('f13', 'bar', 'f14', 28))),
- map('key1', named_struct('f15', 1), 'key2', named_struct('f15', 2))
+ map('key1', named_struct('f15', 1), 'key2', named_struct('f15', 2)),
+ named_struct('f16', array(named_struct('f17', 'foo', 'f18', named_struct('f19', 14)), named_struct('f17', 'bar', 'f18', named_struct('f19', 28)))),
+ map('key1', named_struct('f20', array(named_struct('f21', named_struct('f22', 1)))),
+ 'key2', named_struct('f20', array(named_struct('f21', named_struct('f22', 2)))))
FROM dummy;
DROP TABLE IF EXISTS nested_tbl_2;
@@ -29,7 +34,10 @@ INSERT INTO TABLE nested_tbl_2 SELECT
2, named_struct('f1', true, 'f2', 'bar', 'f3', named_struct('f4', 4, 'f5', cast(6.5 as double)), 'f6', 4),
named_struct('f7', 'f72', 'f8', named_struct('f9', false, 'f10', array(20, 22), 'f11', map('key3', true, 'key4', false))),
named_struct('f12', array(named_struct('f13', 'bar', 'f14', 28), named_struct('f13', 'foo', 'f14', 56))),
- map('key3', named_struct('f15', 3), 'key4', named_struct('f15', 4))
+ map('key3', named_struct('f15', 3), 'key4', named_struct('f15', 4)),
+ named_struct('f16', array(named_struct('f17', 'bar', 'f18', named_struct('f19', 28)), named_struct('f17', 'foo', 'f18', named_struct('f19', 56)))),
+ map('key3', named_struct('f20', array(named_struct('f21', named_struct('f22', 3)))),
+ 'key4', named_struct('f20', array(named_struct('f21', named_struct('f22', 4)))))
FROM dummy;
-- Testing only select statements
@@ -145,3 +153,39 @@ GROUP BY s4['key1'].f15;
SELECT count(s1.f6), s4['key1'].f15
FROM nested_tbl_1
GROUP BY s4['key1'].f15;
+
+EXPLAIN
+SELECT count(s1.f6), s5.f16[0].f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16[0].f18.f19;
+
+SELECT count(s1.f6), s5.f16[0].f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16[0].f18.f19;
+
+EXPLAIN
+SELECT count(s1.f6), s5.f16.f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16.f18.f19;
+
+SELECT count(s1.f6), s5.f16.f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16.f18.f19;
+
+EXPLAIN
+SELECT count(s1.f6), s6['key1'].f20[0].f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20[0].f21.f22;
+
+SELECT count(s1.f6), s6['key1'].f20[0].f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20[0].f21.f22;
+
+EXPLAIN
+SELECT count(s1.f6), s6['key1'].f20.f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20.f21.f22;
+
+SELECT count(s1.f6), s6['key1'].f20.f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20.f21.f22;
http://git-wip-us.apache.org/repos/asf/hive/blob/4066da82/ql/src/test/results/clientpositive/input_testxpath3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/input_testxpath3.q.out b/ql/src/test/results/clientpositive/input_testxpath3.q.out
index 2fe5c61..5779bfd 100644
--- a/ql/src/test/results/clientpositive/input_testxpath3.q.out
+++ b/ql/src/test/results/clientpositive/input_testxpath3.q.out
@@ -16,7 +16,6 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src_thrift
- Pruned Column Paths: lintstring.myint
Statistics: Num rows: 11 Data size: 3070 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: mstringstring['key_9'] (type: string), lintstring.myint (type: array<int>)
http://git-wip-us.apache.org/repos/asf/hive/blob/4066da82/ql/src/test/results/clientpositive/nested_column_pruning.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/nested_column_pruning.q.out b/ql/src/test/results/clientpositive/nested_column_pruning.q.out
index da2908c..840bb12 100644
--- a/ql/src/test/results/clientpositive/nested_column_pruning.q.out
+++ b/ql/src/test/results/clientpositive/nested_column_pruning.q.out
@@ -28,7 +28,9 @@ PREHOOK: query: CREATE TABLE nested_tbl_1 (
s1 struct<f1: boolean, f2: string, f3: struct<f4: int, f5: double>, f6: int>,
s2 struct<f7: string, f8: struct<f9 : boolean, f10: array<int>, f11: map<string, boolean>>>,
s3 struct<f12: array<struct<f13:string, f14:int>>>,
- s4 map<string, struct<f15:int>>
+ s4 map<string, struct<f15:int>>,
+ s5 struct<f16: array<struct<f17:string, f18:struct<f19:int>>>>,
+ s6 map<string, struct<f20:array<struct<f21:struct<f22:int>>>>>
) STORED AS PARQUET
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
@@ -38,7 +40,9 @@ POSTHOOK: query: CREATE TABLE nested_tbl_1 (
s1 struct<f1: boolean, f2: string, f3: struct<f4: int, f5: double>, f6: int>,
s2 struct<f7: string, f8: struct<f9 : boolean, f10: array<int>, f11: map<string, boolean>>>,
s3 struct<f12: array<struct<f13:string, f14:int>>>,
- s4 map<string, struct<f15:int>>
+ s4 map<string, struct<f15:int>>,
+ s5 struct<f16: array<struct<f17:string, f18:struct<f19:int>>>>,
+ s6 map<string, struct<f20:array<struct<f21:struct<f22:int>>>>>
) STORED AS PARQUET
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
@@ -47,7 +51,10 @@ PREHOOK: query: INSERT INTO TABLE nested_tbl_1 SELECT
1, named_struct('f1', false, 'f2', 'foo', 'f3', named_struct('f4', 4, 'f5', cast(5.0 as double)), 'f6', 4),
named_struct('f7', 'f7', 'f8', named_struct('f9', true, 'f10', array(10, 11), 'f11', map('key1', true, 'key2', false))),
named_struct('f12', array(named_struct('f13', 'foo', 'f14', 14), named_struct('f13', 'bar', 'f14', 28))),
- map('key1', named_struct('f15', 1), 'key2', named_struct('f15', 2))
+ map('key1', named_struct('f15', 1), 'key2', named_struct('f15', 2)),
+ named_struct('f16', array(named_struct('f17', 'foo', 'f18', named_struct('f19', 14)), named_struct('f17', 'bar', 'f18', named_struct('f19', 28)))),
+ map('key1', named_struct('f20', array(named_struct('f21', named_struct('f22', 1)))),
+ 'key2', named_struct('f20', array(named_struct('f21', named_struct('f22', 2)))))
FROM dummy
PREHOOK: type: QUERY
PREHOOK: Input: default@dummy
@@ -56,7 +63,10 @@ POSTHOOK: query: INSERT INTO TABLE nested_tbl_1 SELECT
1, named_struct('f1', false, 'f2', 'foo', 'f3', named_struct('f4', 4, 'f5', cast(5.0 as double)), 'f6', 4),
named_struct('f7', 'f7', 'f8', named_struct('f9', true, 'f10', array(10, 11), 'f11', map('key1', true, 'key2', false))),
named_struct('f12', array(named_struct('f13', 'foo', 'f14', 14), named_struct('f13', 'bar', 'f14', 28))),
- map('key1', named_struct('f15', 1), 'key2', named_struct('f15', 2))
+ map('key1', named_struct('f15', 1), 'key2', named_struct('f15', 2)),
+ named_struct('f16', array(named_struct('f17', 'foo', 'f18', named_struct('f19', 14)), named_struct('f17', 'bar', 'f18', named_struct('f19', 28)))),
+ map('key1', named_struct('f20', array(named_struct('f21', named_struct('f22', 1)))),
+ 'key2', named_struct('f20', array(named_struct('f21', named_struct('f22', 2)))))
FROM dummy
POSTHOOK: type: QUERY
POSTHOOK: Input: default@dummy
@@ -66,6 +76,8 @@ POSTHOOK: Lineage: nested_tbl_1.s1 EXPRESSION []
POSTHOOK: Lineage: nested_tbl_1.s2 EXPRESSION []
POSTHOOK: Lineage: nested_tbl_1.s3 EXPRESSION []
POSTHOOK: Lineage: nested_tbl_1.s4 EXPRESSION []
+POSTHOOK: Lineage: nested_tbl_1.s5 EXPRESSION []
+POSTHOOK: Lineage: nested_tbl_1.s6 EXPRESSION []
PREHOOK: query: DROP TABLE IF EXISTS nested_tbl_2
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS nested_tbl_2
@@ -82,7 +94,10 @@ PREHOOK: query: INSERT INTO TABLE nested_tbl_2 SELECT
2, named_struct('f1', true, 'f2', 'bar', 'f3', named_struct('f4', 4, 'f5', cast(6.5 as double)), 'f6', 4),
named_struct('f7', 'f72', 'f8', named_struct('f9', false, 'f10', array(20, 22), 'f11', map('key3', true, 'key4', false))),
named_struct('f12', array(named_struct('f13', 'bar', 'f14', 28), named_struct('f13', 'foo', 'f14', 56))),
- map('key3', named_struct('f15', 3), 'key4', named_struct('f15', 4))
+ map('key3', named_struct('f15', 3), 'key4', named_struct('f15', 4)),
+ named_struct('f16', array(named_struct('f17', 'bar', 'f18', named_struct('f19', 28)), named_struct('f17', 'foo', 'f18', named_struct('f19', 56)))),
+ map('key3', named_struct('f20', array(named_struct('f21', named_struct('f22', 3)))),
+ 'key4', named_struct('f20', array(named_struct('f21', named_struct('f22', 4)))))
FROM dummy
PREHOOK: type: QUERY
PREHOOK: Input: default@dummy
@@ -91,7 +106,10 @@ POSTHOOK: query: INSERT INTO TABLE nested_tbl_2 SELECT
2, named_struct('f1', true, 'f2', 'bar', 'f3', named_struct('f4', 4, 'f5', cast(6.5 as double)), 'f6', 4),
named_struct('f7', 'f72', 'f8', named_struct('f9', false, 'f10', array(20, 22), 'f11', map('key3', true, 'key4', false))),
named_struct('f12', array(named_struct('f13', 'bar', 'f14', 28), named_struct('f13', 'foo', 'f14', 56))),
- map('key3', named_struct('f15', 3), 'key4', named_struct('f15', 4))
+ map('key3', named_struct('f15', 3), 'key4', named_struct('f15', 4)),
+ named_struct('f16', array(named_struct('f17', 'bar', 'f18', named_struct('f19', 28)), named_struct('f17', 'foo', 'f18', named_struct('f19', 56)))),
+ map('key3', named_struct('f20', array(named_struct('f21', named_struct('f22', 3)))),
+ 'key4', named_struct('f20', array(named_struct('f21', named_struct('f22', 4)))))
FROM dummy
POSTHOOK: type: QUERY
POSTHOOK: Input: default@dummy
@@ -101,6 +119,8 @@ POSTHOOK: Lineage: nested_tbl_2.s1 EXPRESSION []
POSTHOOK: Lineage: nested_tbl_2.s2 EXPRESSION []
POSTHOOK: Lineage: nested_tbl_2.s3 EXPRESSION []
POSTHOOK: Lineage: nested_tbl_2.s4 EXPRESSION []
+POSTHOOK: Lineage: nested_tbl_2.s5 EXPRESSION []
+POSTHOOK: Lineage: nested_tbl_2.s6 EXPRESSION []
PREHOOK: query: -- Testing only select statements
EXPLAIN SELECT a FROM nested_tbl_1
@@ -119,14 +139,14 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: nested_tbl_1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: a (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -162,14 +182,14 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f1 (type: boolean)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -205,14 +225,14 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f1, s1.f2
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f1 (type: boolean), s1.f2 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -250,14 +270,14 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f3
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f3 (type: struct<f4:int,f5:double>), s1.f3.f4 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -295,14 +315,14 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f3.f5
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f3.f5 (type: double)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -340,14 +360,14 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f3.f4, s2.f8.f9
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f3.f4 (type: int), s2.f8.f9 (type: boolean)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -387,17 +407,17 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f2, s1.f1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (s1.f1 = false) (type: boolean)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f2 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -433,17 +453,17 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f3.f5, s1.f3.f4
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (s1.f3.f4 = 4) (type: boolean)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f3.f5 (type: double)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -479,17 +499,17 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f2, s2.f8
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ((s1.f2 = 'foo') and (size(s2.f8.f10) > 1) and s2.f8.f11['key1']) (type: boolean)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s2.f8 (type: struct<f9:boolean,f10:array<int>,f11:map<string,boolean>>)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -533,32 +553,32 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s2.f8.f10
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Lateral View Forward
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s3 (type: struct<f12:array<struct<f13:string,f14:int>>>)
outputColumnNames: s3
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Lateral View Join Operator
- outputColumnNames: _col3, _col8
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col3, _col10
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Lateral View Forward
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col8 (type: int)
- outputColumnNames: _col8
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ expressions: _col10 (type: int)
+ outputColumnNames: _col10
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Lateral View Join Operator
- outputColumnNames: _col8, _col9
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col10, _col11
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col8 (type: int), _col9 (type: struct<f13:string,f14:int>)
+ expressions: _col10 (type: int), _col11 (type: struct<f13:string,f14:int>)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -566,20 +586,20 @@ STAGE PLANS:
Select Operator
expressions: _col3.f12 (type: array<struct<f13:string,f14:int>>)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
UDTF Operator
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
function name: explode
Lateral View Join Operator
- outputColumnNames: _col8, _col9
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col10, _col11
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col8 (type: int), _col9 (type: struct<f13:string,f14:int>)
+ expressions: _col10 (type: int), _col11 (type: struct<f13:string,f14:int>)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -587,29 +607,29 @@ STAGE PLANS:
Select Operator
expressions: s2.f8.f10 (type: array<int>)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
UDTF Operator
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
function name: explode
Lateral View Join Operator
- outputColumnNames: _col3, _col8
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col3, _col10
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Lateral View Forward
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col8 (type: int)
- outputColumnNames: _col8
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ expressions: _col10 (type: int)
+ outputColumnNames: _col10
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Lateral View Join Operator
- outputColumnNames: _col8, _col9
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col10, _col11
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col8 (type: int), _col9 (type: struct<f13:string,f14:int>)
+ expressions: _col10 (type: int), _col11 (type: struct<f13:string,f14:int>)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -617,20 +637,20 @@ STAGE PLANS:
Select Operator
expressions: _col3.f12 (type: array<struct<f13:string,f14:int>>)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
UDTF Operator
- Statistics: Num rows: 2 Data size: 10 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
function name: explode
Lateral View Join Operator
- outputColumnNames: _col8, _col9
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col10, _col11
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col8 (type: int), _col9 (type: struct<f13:string,f14:int>)
+ expressions: _col10 (type: int), _col11 (type: struct<f13:string,f14:int>)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 4 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 28 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -675,14 +695,14 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s2.f8.f10, s1.f3.f4
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: (s2.f8.f10[1] pmod s1.f3.f4) (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -722,22 +742,22 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f3.f5, s1.f3.f4
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f3.f5 (type: double), s1.f3.f4 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count(_col1)
keys: _col0 (type: double)
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: double)
sort order: +
Map-reduce partition columns: _col0 (type: double)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reduce Operator Tree:
Group By Operator
@@ -745,10 +765,10 @@ STAGE PLANS:
keys: KEY._col0 (type: double)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -784,22 +804,22 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f3
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f3 (type: struct<f4:int,f5:double>), s1.f3.f4 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count(_col1)
keys: _col0 (type: struct<f4:int,f5:double>)
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: struct<f4:int,f5:double>)
sort order: +
Map-reduce partition columns: _col0 (type: struct<f4:int,f5:double>)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reduce Operator Tree:
Group By Operator
@@ -807,10 +827,10 @@ STAGE PLANS:
keys: KEY._col0 (type: struct<f4:int,f5:double>)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -847,22 +867,22 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f3
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f3 (type: struct<f4:int,f5:double>), s1.f3.f4 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count(_col1)
keys: _col0 (type: struct<f4:int,f5:double>)
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: struct<f4:int,f5:double>)
sort order: +
Map-reduce partition columns: _col0 (type: struct<f4:int,f5:double>)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reduce Operator Tree:
Group By Operator
@@ -870,7 +890,7 @@ STAGE PLANS:
keys: KEY._col0 (type: struct<f4:int,f5:double>)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
table:
@@ -885,16 +905,16 @@ STAGE PLANS:
Reduce Output Operator
key expressions: _col0 (type: struct<f4:int,f5:double>)
sort order: +
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reduce Operator Tree:
Select Operator
expressions: KEY.reducesinkkey0 (type: struct<f4:int,f5:double>), VALUE._col0 (type: bigint)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -939,32 +959,32 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0.f3.f4 (type: int)
sort order: +
Map-reduce partition columns: _col0.f3.f4 (type: int)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
TableScan
alias: t2
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (s2.f8.f9 = false) (type: boolean)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>), s2 (type: struct<f7:string,f8:struct<f9:boolean,f10:array<int>,f11:map<string,boolean>>>)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0.f6 (type: int)
sort order: +
Map-reduce partition columns: _col0.f6 (type: int)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: struct<f7:string,f8:struct<f9:boolean,f10:array<int>,f11:map<string,boolean>>>)
Reduce Operator Tree:
Join Operator
@@ -974,14 +994,14 @@ STAGE PLANS:
0 _col0.f3.f4 (type: int)
1 _col0.f6 (type: int)
outputColumnNames: _col0, _col2
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0.f3.f5 (type: double), _col2.f8 (type: struct<f9:boolean,f10:array<int>,f11:map<string,boolean>>)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1030,32 +1050,32 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0.f3.f4 (type: int)
sort order: +
Map-reduce partition columns: _col0.f3.f4 (type: int)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
TableScan
alias: t2
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (s2.f8.f9 = true) (type: boolean)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>), s2 (type: struct<f7:string,f8:struct<f9:boolean,f10:array<int>,f11:map<string,boolean>>>)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0.f6 (type: int)
sort order: +
Map-reduce partition columns: _col0.f6 (type: int)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: struct<f7:string,f8:struct<f9:boolean,f10:array<int>,f11:map<string,boolean>>>)
Reduce Operator Tree:
Join Operator
@@ -1065,14 +1085,14 @@ STAGE PLANS:
0 _col0.f3.f4 (type: int)
1 _col0.f6 (type: int)
outputColumnNames: _col0, _col2
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0.f3.f5 (type: double), _col2.f8 (type: struct<f9:boolean,f10:array<int>,f11:map<string,boolean>>)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1165,22 +1185,22 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s3.f12, s1.f6
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s3.f12[0].f14 (type: int), s1.f6 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count(_col1)
keys: _col0 (type: int)
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reduce Operator Tree:
Group By Operator
@@ -1188,14 +1208,14 @@ STAGE PLANS:
keys: KEY._col0 (type: int)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: bigint), _col0 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1241,22 +1261,22 @@ STAGE PLANS:
TableScan
alias: nested_tbl_1
Pruned Column Paths: s1.f6
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s4['key1'].f15 (type: int), s1.f6 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count(_col1)
keys: _col0 (type: int)
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reduce Operator Tree:
Group By Operator
@@ -1264,14 +1284,14 @@ STAGE PLANS:
keys: KEY._col0 (type: int)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: bigint), _col0 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1296,3 +1316,307 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@nested_tbl_1
#### A masked pattern was here ####
1 1
+PREHOOK: query: EXPLAIN
+SELECT count(s1.f6), s5.f16[0].f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16[0].f18.f19
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT count(s1.f6), s5.f16[0].f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16[0].f18.f19
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: nested_tbl_1
+ Pruned Column Paths: s5.f16, s1.f6
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: s5.f16[0].f18.f19 (type: int), s1.f6 (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count(_col1)
+ keys: _col0 (type: int)
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: bigint)
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ keys: KEY._col0 (type: int)
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col1 (type: bigint), _col0 (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: SELECT count(s1.f6), s5.f16[0].f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16[0].f18.f19
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nested_tbl_1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT count(s1.f6), s5.f16[0].f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16[0].f18.f19
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nested_tbl_1
+#### A masked pattern was here ####
+1 14
+PREHOOK: query: EXPLAIN
+SELECT count(s1.f6), s5.f16.f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16.f18.f19
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT count(s1.f6), s5.f16.f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16.f18.f19
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: nested_tbl_1
+ Pruned Column Paths: s1.f6, s5.f16
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: s5 (type: struct<f16:array<struct<f17:string,f18:struct<f19:int>>>>), s1 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
+ outputColumnNames: s5, s1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count(s1.f6)
+ keys: s5.f16.f18.f19 (type: array<int>)
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: array<int>)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: array<int>)
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: bigint)
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ keys: KEY._col0 (type: array<int>)
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col1 (type: bigint), _col0 (type: array<int>)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: SELECT count(s1.f6), s5.f16.f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16.f18.f19
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nested_tbl_1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT count(s1.f6), s5.f16.f18.f19
+FROM nested_tbl_1
+GROUP BY s5.f16.f18.f19
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nested_tbl_1
+#### A masked pattern was here ####
+1 [14,28]
+PREHOOK: query: EXPLAIN
+SELECT count(s1.f6), s6['key1'].f20[0].f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20[0].f21.f22
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT count(s1.f6), s6['key1'].f20[0].f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20[0].f21.f22
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: nested_tbl_1
+ Pruned Column Paths: s1.f6
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: s6['key1'].f20[0].f21.f22 (type: int), s1.f6 (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count(_col1)
+ keys: _col0 (type: int)
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: bigint)
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ keys: KEY._col0 (type: int)
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col1 (type: bigint), _col0 (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: SELECT count(s1.f6), s6['key1'].f20[0].f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20[0].f21.f22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nested_tbl_1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT count(s1.f6), s6['key1'].f20[0].f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20[0].f21.f22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nested_tbl_1
+#### A masked pattern was here ####
+1 1
+PREHOOK: query: EXPLAIN
+SELECT count(s1.f6), s6['key1'].f20.f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20.f21.f22
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT count(s1.f6), s6['key1'].f20.f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20.f21.f22
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: nested_tbl_1
+ Pruned Column Paths: s1.f6
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: s6 (type: map<string,struct<f20:array<struct<f21:struct<f22:int>>>>>), s1 (type: struct<f1:boolean,f2:string,f3:struct<f4:int,f5:double>,f6:int>)
+ outputColumnNames: s6, s1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count(s1.f6)
+ keys: s6['key1'].f20.f21.f22 (type: array<int>)
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: array<int>)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: array<int>)
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: bigint)
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ keys: KEY._col0 (type: array<int>)
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col1 (type: bigint), _col0 (type: array<int>)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: SELECT count(s1.f6), s6['key1'].f20.f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20.f21.f22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nested_tbl_1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT count(s1.f6), s6['key1'].f20.f21.f22
+FROM nested_tbl_1
+GROUP BY s6['key1'].f20.f21.f22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nested_tbl_1
+#### A masked pattern was here ####
+1 [1]