You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by om...@apache.org on 2015/11/23 18:24:12 UTC
[49/55] [partial] hive git commit: HIVE-12017: Do not disable CBO by
default when number of joins in a query is equal or less than 1 (Jesus
Camacho Rodriguez, reviewed by Ashutosh Chauhan)
http://git-wip-us.apache.org/repos/asf/hive/blob/855e43df/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
index f1aadef..85a685b 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_1.q.out
@@ -157,23 +157,27 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
- BucketMapJoin: true
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
+ BucketMapJoin: true
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -274,8 +278,8 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [b]
- /bucket_big/ds=2008-04-09 [b]
+ /bucket_big/ds=2008-04-08 [$hdt$_1:b]
+ /bucket_big/ds=2008-04-09 [$hdt$_1:b]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -379,23 +383,27 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- BucketMapJoin: true
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ BucketMapJoin: true
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -496,8 +504,8 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
- /bucket_big/ds=2008-04-09 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
+ /bucket_big/ds=2008-04-09 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -601,7 +609,7 @@ STAGE PLANS:
Stage: Stage-6
Map Reduce Local Work
Alias -> Map Local Tables:
- b
+ $hdt$_1:b
Fetch Operator
limit: -1
Partition Description:
@@ -652,7 +660,7 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Alias -> Map Local Operator Tree:
- b
+ $hdt$_1:b
TableScan
alias: b
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
@@ -661,11 +669,15 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
Stage: Stage-3
Map Reduce
@@ -678,22 +690,26 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -843,8 +859,8 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
- /bucket_big/ds=2008-04-09 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
+ /bucket_big/ds=2008-04-09 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -876,7 +892,7 @@ STAGE PLANS:
Stage: Stage-7
Map Reduce Local Work
Alias -> Map Local Tables:
- a
+ $hdt$_0:a
Fetch Operator
limit: -1
Partition Description:
@@ -975,7 +991,7 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Alias -> Map Local Operator Tree:
- a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 116 Data size: 11624 Basic stats: COMPLETE Column stats: NONE
@@ -984,11 +1000,15 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Stage: Stage-4
Map Reduce
@@ -1001,22 +1021,26 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -1166,7 +1190,7 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_small/ds=2008-04-08 [b]
+ /bucket_small/ds=2008-04-08 [$hdt$_1:b]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -1206,23 +1230,27 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- BucketMapJoin: true
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ BucketMapJoin: true
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -1323,8 +1351,8 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
- /bucket_big/ds=2008-04-09 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
+ /bucket_big/ds=2008-04-09 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
http://git-wip-us.apache.org/repos/asf/hive/blob/855e43df/ql/src/test/results/clientpositive/auto_sortmerge_join_10.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_10.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_10.q.out
index fb1e656..fb45517 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_10.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_10.q.out
@@ -74,11 +74,11 @@ STAGE PLANS:
Stage: Stage-6
Map Reduce Local Work
Alias -> Map Local Tables:
- subq2:a
+ $hdt$_1:a
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- subq2:a
+ $hdt$_1:a
TableScan
alias: a
Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
@@ -109,28 +109,24 @@ STAGE PLANS:
Statistics: Num rows: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Union
Statistics: Num rows: 6 Data size: 42 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int)
- outputColumnNames: _col0
- Statistics: Num rows: 6 Data size: 42 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: int)
- 1 _col0 (type: int)
- Statistics: Num rows: 6 Data size: 46 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Statistics: Num rows: 6 Data size: 46 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
TableScan
alias: a
Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
@@ -143,28 +139,24 @@ STAGE PLANS:
Statistics: Num rows: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Union
Statistics: Num rows: 6 Data size: 42 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int)
- outputColumnNames: _col0
- Statistics: Num rows: 6 Data size: 42 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: int)
- 1 _col0 (type: int)
- Statistics: Num rows: 6 Data size: 46 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Statistics: Num rows: 6 Data size: 46 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
Local Work:
Map Reduce Local Work
@@ -250,11 +242,11 @@ STAGE PLANS:
Stage: Stage-5
Map Reduce Local Work
Alias -> Map Local Tables:
- subq1:a
+ $hdt$_0:a
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- subq1:a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
@@ -262,19 +254,14 @@ STAGE PLANS:
predicate: (key < 6) (type: boolean)
Statistics: Num rows: 3 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Group By Operator
- aggregations: count()
keys: key (type: int)
mode: final
- outputColumnNames: _col0, _col1
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int)
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 _col0 (type: int)
- 1 _col0 (type: int)
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
Stage: Stage-2
Map Reduce
http://git-wip-us.apache.org/repos/asf/hive/blob/855e43df/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
index 5dad0fb..4c9c75b 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_11.q.out
@@ -146,7 +146,7 @@ STAGE PLANS:
Stage: Stage-5
Map Reduce Local Work
Alias -> Map Local Tables:
- a
+ $hdt$_0:a
Fetch Operator
limit: -1
Partition Description:
@@ -197,7 +197,7 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Alias -> Map Local Operator Tree:
- a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
@@ -206,11 +206,15 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Stage: Stage-2
Map Reduce
@@ -223,25 +227,29 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
- Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
+ Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -389,8 +397,8 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [b]
- /bucket_big/ds=2008-04-09 [b]
+ /bucket_big/ds=2008-04-08 [$hdt$_1:b]
+ /bucket_big/ds=2008-04-09 [$hdt$_1:b]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -497,7 +505,7 @@ STAGE PLANS:
Stage: Stage-5
Map Reduce Local Work
Alias -> Map Local Tables:
- a
+ $hdt$_0:a
Fetch Operator
limit: -1
Partition Description:
@@ -548,7 +556,7 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Alias -> Map Local Operator Tree:
- a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
@@ -557,11 +565,15 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Stage: Stage-2
Map Reduce
@@ -574,25 +586,29 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
- Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
+ Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -740,8 +756,8 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [b]
- /bucket_big/ds=2008-04-09 [b]
+ /bucket_big/ds=2008-04-08 [$hdt$_1:b]
+ /bucket_big/ds=2008-04-09 [$hdt$_1:b]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
http://git-wip-us.apache.org/repos/asf/hive/blob/855e43df/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
index b1ba148..79aed4a 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_12.q.out
@@ -138,7 +138,7 @@ POSTHOOK: query: load data local inpath '../../data/files/smallsrcsortbucket3out
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@bucket_medium@ds=2008-04-08
-Warning: Map Join MAPJOIN[32][bigTable=?] in task 'Stage-4:MAPRED' is a cross product
+Warning: Map Join MAPJOIN[33][bigTable=?] in task 'Stage-3:MAPRED' is a cross product
PREHOOK: query: explain extended select count(*) FROM bucket_small a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
PREHOOK: type: QUERY
POSTHOOK: query: explain extended select count(*) FROM bucket_small a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
@@ -204,15 +204,15 @@ TOK_QUERY
STAGE DEPENDENCIES:
- Stage-11 is a root stage
- Stage-4 depends on stages: Stage-11
- Stage-0 depends on stages: Stage-4
+ Stage-9 is a root stage
+ Stage-3 depends on stages: Stage-9
+ Stage-0 depends on stages: Stage-3
STAGE PLANS:
- Stage: Stage-11
+ Stage: Stage-9
Map Reduce Local Work
Alias -> Map Local Tables:
- a
+ $hdt$_0:a
Fetch Operator
limit: -1
Partition Description:
@@ -263,7 +263,7 @@ STAGE PLANS:
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
name: default.bucket_small
name: default.bucket_small
- c
+ $hdt$_1:b
Fetch Operator
limit: -1
Partition Description:
@@ -275,69 +275,22 @@ STAGE PLANS:
ds 2008-04-08
properties:
COLUMN_STATS_ACCURATE true
- bucket_count 4
- bucket_field_name key
- columns key,value
- columns.comments
- columns.types string:string
-#### A masked pattern was here ####
- name default.bucket_big
- numFiles 4
- numRows 0
- partition_columns ds
- partition_columns.types string
- rawDataSize 0
- serialization.ddl struct bucket_big { string key, string value}
- serialization.format 1
- serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- totalSize 5812
-#### A masked pattern was here ####
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- properties:
- SORTBUCKETCOLSPREFIX TRUE
- bucket_count 4
- bucket_field_name key
- columns key,value
- columns.comments
- columns.types string:string
-#### A masked pattern was here ####
- name default.bucket_big
- partition_columns ds
- partition_columns.types string
- serialization.ddl struct bucket_big { string key, string value}
- serialization.format 1
- serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-#### A masked pattern was here ####
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.bucket_big
- name: default.bucket_big
- Partition
- base file name: ds=2008-04-09
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- partition values:
- ds 2008-04-09
- properties:
- COLUMN_STATS_ACCURATE true
- bucket_count 4
+ bucket_count 3
bucket_field_name key
columns key,value
columns.comments
columns.types string:string
#### A masked pattern was here ####
- name default.bucket_big
- numFiles 4
+ name default.bucket_medium
+ numFiles 3
numRows 0
partition_columns ds
partition_columns.types string
rawDataSize 0
- serialization.ddl struct bucket_big { string key, string value}
+ serialization.ddl struct bucket_medium { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- totalSize 5812
+ totalSize 170
#### A masked pattern was here ####
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
@@ -345,23 +298,23 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
properties:
SORTBUCKETCOLSPREFIX TRUE
- bucket_count 4
+ bucket_count 3
bucket_field_name key
columns key,value
columns.comments
columns.types string:string
#### A masked pattern was here ####
- name default.bucket_big
+ name default.bucket_medium
partition_columns ds
partition_columns.types string
- serialization.ddl struct bucket_big { string key, string value}
+ serialization.ddl struct bucket_medium { string key, string value}
serialization.format 1
serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
#### A masked pattern was here ####
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.bucket_big
- name: default.bucket_big
- d
+ name: default.bucket_medium
+ name: default.bucket_medium
+ $hdt$_3:b
Fetch Operator
limit: -1
Partition Description:
@@ -413,7 +366,7 @@ STAGE PLANS:
name: default.bucket_medium
name: default.bucket_medium
Alias -> Map Local Operator Tree:
- a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
@@ -422,64 +375,73 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
- c
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ 2 _col0 (type: string)
+ Position of Big Table: 2
+ $hdt$_1:b
TableScan
- alias: c
- Statistics: Num rows: 116 Data size: 11624 Basic stats: COMPLETE Column stats: NONE
+ alias: b
+ Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 _col6 (type: string), _col6 (type: string)
- 1 key (type: string), key (type: string)
- Position of Big Table: 0
- d
+ Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ 2 _col0 (type: string)
+ Position of Big Table: 2
+ $hdt$_3:b
TableScan
- alias: d
+ alias: b
Statistics: Num rows: 1 Data size: 170 Basic stats: PARTIAL Column stats: NONE
GatherStats: false
- HashTable Sink Operator
- keys:
- 0
- 1
- Position of Big Table: 0
+ Select Operator
+ Statistics: Num rows: 1 Data size: 170 Basic stats: PARTIAL Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0
+ 1
+ Position of Big Table: 0
- Stage: Stage-4
+ Stage: Stage-3
Map Reduce
Map Operator Tree:
TableScan
- alias: b
- Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: NONE
+ alias: c
+ Statistics: Num rows: 116 Data size: 11624 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
predicate: key is not null (type: boolean)
- Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- outputColumnNames: _col6
- Position of Big Table: 1
- Statistics: Num rows: 1 Data size: 125 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
+ Inner Join 1 to 2
keys:
- 0 _col6 (type: string), _col6 (type: string)
- 1 key (type: string), key (type: string)
- Position of Big Table: 0
- Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ 2 _col0 (type: string)
+ Position of Big Table: 2
+ Statistics: Num rows: 127 Data size: 12786 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
Inner Join 0 to 1
@@ -487,7 +449,7 @@ STAGE PLANS:
0
1
Position of Big Table: 0
- Statistics: Num rows: 69 Data size: 7032 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 139 Data size: 14064 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
mode: hash
@@ -697,7 +659,8 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_medium/ds=2008-04-08 [b]
+ /bucket_big/ds=2008-04-08 [$hdt$_2:c]
+ /bucket_big/ds=2008-04-09 [$hdt$_2:c]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -734,7 +697,7 @@ STAGE PLANS:
Processor Tree:
ListSink
-Warning: Map Join MAPJOIN[32][bigTable=?] in task 'Stage-4:MAPRED' is a cross product
+Warning: Map Join MAPJOIN[33][bigTable=?] in task 'Stage-3:MAPRED' is a cross product
PREHOOK: query: select count(*) FROM bucket_small a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
PREHOOK: type: QUERY
PREHOOK: Input: default@bucket_big
http://git-wip-us.apache.org/repos/asf/hive/blob/855e43df/ql/src/test/results/clientpositive/auto_sortmerge_join_14.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_14.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_14.q.out
index 33c56fd..7a2dfdb 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_14.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_14.q.out
@@ -56,18 +56,22 @@ STAGE PLANS:
Stage: Stage-5
Map Reduce Local Work
Alias -> Map Local Tables:
- b
+ $hdt$_1:b
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- b
+ $hdt$_1:b
TableScan
alias: b
Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: int)
- 1 key (type: int)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
Stage: Stage-3
Map Reduce
@@ -75,19 +79,23 @@ STAGE PLANS:
TableScan
alias: a
Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Left Outer Join0 to 1
- keys:
- 0 key (type: int)
- 1 key (type: int)
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- value expressions: _col0 (type: bigint)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Left Outer Join0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ value expressions: _col0 (type: bigint)
Local Work:
Map Reduce Local Work
Reduce Operator Tree:
@@ -108,19 +116,23 @@ STAGE PLANS:
TableScan
alias: a
Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Left Outer Join0 to 1
- keys:
- 0 key (type: int)
- 1 key (type: int)
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- value expressions: _col0 (type: bigint)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Left Outer Join0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ value expressions: _col0 (type: bigint)
Reduce Operator Tree:
Group By Operator
aggregations: count(VALUE._col0)
@@ -182,18 +194,22 @@ STAGE PLANS:
Stage: Stage-5
Map Reduce Local Work
Alias -> Map Local Tables:
- a
+ $hdt$_0:a
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: int)
- 1 key (type: int)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
Stage: Stage-3
Map Reduce
@@ -201,19 +217,23 @@ STAGE PLANS:
TableScan
alias: b
Statistics: Num rows: 189 Data size: 1891 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Right Outer Join0 to 1
- keys:
- 0 key (type: int)
- 1 key (type: int)
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- value expressions: _col0 (type: bigint)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 189 Data size: 1891 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Right Outer Join0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ value expressions: _col0 (type: bigint)
Local Work:
Map Reduce Local Work
Reduce Operator Tree:
@@ -234,19 +254,23 @@ STAGE PLANS:
TableScan
alias: b
Statistics: Num rows: 189 Data size: 1891 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Right Outer Join0 to 1
- keys:
- 0 key (type: int)
- 1 key (type: int)
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- value expressions: _col0 (type: bigint)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 189 Data size: 1891 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Right Outer Join0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ value expressions: _col0 (type: bigint)
Reduce Operator Tree:
Group By Operator
aggregations: count(VALUE._col0)
http://git-wip-us.apache.org/repos/asf/hive/blob/855e43df/ql/src/test/results/clientpositive/auto_sortmerge_join_15.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_15.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_15.q.out
index 460e5b1..b8310ab 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_15.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_15.q.out
@@ -54,18 +54,22 @@ STAGE PLANS:
Stage: Stage-5
Map Reduce Local Work
Alias -> Map Local Tables:
- b
+ $hdt$_1:b
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- b
+ $hdt$_1:b
TableScan
alias: b
Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: int)
- 1 key (type: int)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
Stage: Stage-3
Map Reduce
@@ -73,19 +77,23 @@ STAGE PLANS:
TableScan
alias: a
Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Left Outer Join0 to 1
- keys:
- 0 key (type: int)
- 1 key (type: int)
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- value expressions: _col0 (type: bigint)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Left Outer Join0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ value expressions: _col0 (type: bigint)
Local Work:
Map Reduce Local Work
Reduce Operator Tree:
@@ -106,19 +114,23 @@ STAGE PLANS:
TableScan
alias: a
Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Left Outer Join0 to 1
- keys:
- 0 key (type: int)
- 1 key (type: int)
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- value expressions: _col0 (type: bigint)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Left Outer Join0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ value expressions: _col0 (type: bigint)
Reduce Operator Tree:
Group By Operator
aggregations: count(VALUE._col0)
@@ -157,18 +169,22 @@ STAGE PLANS:
Stage: Stage-5
Map Reduce Local Work
Alias -> Map Local Tables:
- a
+ $hdt$_0:a
Fetch Operator
limit: -1
Alias -> Map Local Operator Tree:
- a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: int)
- 1 key (type: int)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 20 Data size: 160 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
Stage: Stage-3
Map Reduce
@@ -176,19 +192,23 @@ STAGE PLANS:
TableScan
alias: b
Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Right Outer Join0 to 1
- keys:
- 0 key (type: int)
- 1 key (type: int)
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- value expressions: _col0 (type: bigint)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Right Outer Join0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ value expressions: _col0 (type: bigint)
Local Work:
Map Reduce Local Work
Reduce Operator Tree:
@@ -209,19 +229,23 @@ STAGE PLANS:
TableScan
alias: b
Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Right Outer Join0 to 1
- keys:
- 0 key (type: int)
- 1 key (type: int)
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- value expressions: _col0 (type: bigint)
+ Select Operator
+ expressions: key (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Right Outer Join0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ value expressions: _col0 (type: bigint)
Reduce Operator Tree:
Group By Operator
aggregations: count(VALUE._col0)
http://git-wip-us.apache.org/repos/asf/hive/blob/855e43df/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
index a7a5faa..4727027 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_2.q.out
@@ -137,23 +137,27 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 27 Data size: 2750 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- BucketMapJoin: true
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 27 Data size: 2750 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ BucketMapJoin: true
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -254,8 +258,8 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
- /bucket_big/ds=2008-04-09 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
+ /bucket_big/ds=2008-04-09 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -361,7 +365,7 @@ STAGE PLANS:
Stage: Stage-6
Map Reduce Local Work
Alias -> Map Local Tables:
- b
+ $hdt$_1:b
Fetch Operator
limit: -1
Partition Description:
@@ -412,7 +416,7 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Alias -> Map Local Operator Tree:
- b
+ $hdt$_1:b
TableScan
alias: b
Statistics: Num rows: 2 Data size: 226 Basic stats: COMPLETE Column stats: NONE
@@ -421,11 +425,15 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 113 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 113 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
Stage: Stage-3
Map Reduce
@@ -438,22 +446,26 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 27 Data size: 2750 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 27 Data size: 2750 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -603,8 +615,8 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
- /bucket_big/ds=2008-04-09 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
+ /bucket_big/ds=2008-04-09 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -636,7 +648,7 @@ STAGE PLANS:
Stage: Stage-7
Map Reduce Local Work
Alias -> Map Local Tables:
- a
+ $hdt$_0:a
Fetch Operator
limit: -1
Partition Description:
@@ -735,7 +747,7 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Alias -> Map Local Operator Tree:
- a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 54 Data size: 5500 Basic stats: COMPLETE Column stats: NONE
@@ -744,11 +756,15 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 27 Data size: 2750 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 27 Data size: 2750 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Stage: Stage-4
Map Reduce
@@ -761,22 +777,26 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 113 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 113 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -926,7 +946,7 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_small/ds=2008-04-08 [b]
+ /bucket_small/ds=2008-04-08 [$hdt$_1:b]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -966,23 +986,27 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 27 Data size: 2750 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- BucketMapJoin: true
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 27 Data size: 2750 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ BucketMapJoin: true
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -1083,8 +1107,8 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
- /bucket_big/ds=2008-04-09 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
+ /bucket_big/ds=2008-04-09 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
http://git-wip-us.apache.org/repos/asf/hive/blob/855e43df/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out b/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
index dfb1a16..ef7ea49 100644
--- a/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
+++ b/ql/src/test/results/clientpositive/auto_sortmerge_join_3.q.out
@@ -137,23 +137,27 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
- BucketMapJoin: true
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
+ BucketMapJoin: true
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -206,7 +210,7 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [b]
+ /bucket_big/ds=2008-04-08 [$hdt$_1:b]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -310,23 +314,27 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- BucketMapJoin: true
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ BucketMapJoin: true
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -379,7 +387,7 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -483,7 +491,7 @@ STAGE PLANS:
Stage: Stage-6
Map Reduce Local Work
Alias -> Map Local Tables:
- b
+ $hdt$_1:b
Fetch Operator
limit: -1
Partition Description:
@@ -580,7 +588,7 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Alias -> Map Local Operator Tree:
- b
+ $hdt$_1:b
TableScan
alias: b
Statistics: Num rows: 2 Data size: 228 Basic stats: COMPLETE Column stats: NONE
@@ -589,11 +597,15 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
Stage: Stage-3
Map Reduce
@@ -606,22 +618,26 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -770,7 +786,7 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -802,7 +818,7 @@ STAGE PLANS:
Stage: Stage-7
Map Reduce Local Work
Alias -> Map Local Tables:
- a
+ $hdt$_0:a
Fetch Operator
limit: -1
Partition Description:
@@ -854,7 +870,7 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Alias -> Map Local Operator Tree:
- a
+ $hdt$_0:a
TableScan
alias: a
Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
@@ -863,11 +879,15 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
- HashTable Sink Operator
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+ HashTable Sink Operator
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
Stage: Stage-4
Map Reduce
@@ -880,22 +900,26 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 1
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 114 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 1
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Local Work:
Map Reduce Local Work
Path -> Alias:
@@ -1044,8 +1068,8 @@ STAGE PLANS:
name: default.bucket_small
name: default.bucket_small
Truncated Path -> Alias:
- /bucket_small/ds=2008-04-08 [b]
- /bucket_small/ds=2008-04-09 [b]
+ /bucket_small/ds=2008-04-08 [$hdt$_1:b]
+ /bucket_small/ds=2008-04-09 [$hdt$_1:b]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator
@@ -1085,23 +1109,27 @@ STAGE PLANS:
isSamplingPred: false
predicate: key is not null (type: boolean)
Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
- Sorted Merge Bucket Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 key (type: string)
- 1 key (type: string)
- Position of Big Table: 0
- BucketMapJoin: true
- Group By Operator
- aggregations: count()
- mode: hash
- outputColumnNames: _col0
- Reduce Output Operator
- sort order:
- tag: -1
- value expressions: _col0 (type: bigint)
- auto parallelism: false
+ Select Operator
+ expressions: key (type: string)
+ outputColumnNames: _col0
+ Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ Position of Big Table: 0
+ BucketMapJoin: true
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -1154,7 +1182,7 @@ STAGE PLANS:
name: default.bucket_big
name: default.bucket_big
Truncated Path -> Alias:
- /bucket_big/ds=2008-04-08 [a]
+ /bucket_big/ds=2008-04-08 [$hdt$_0:a]
Needs Tagging: false
Reduce Operator Tree:
Group By Operator