You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/11/26 23:32:42 UTC
[24/37] hive git commit: HIVE-20775: Factor cost of each SJ reduction
when costing a follow-up reduction (Jesus Camacho Rodriguez,
reviewed by Ashutosh Chauhan)
http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/constraints/query69.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query69.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query69.q.out
index 8fe3134..3cf67ee 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query69.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query69.q.out
@@ -109,24 +109,21 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 14 <- Reducer 11 (BROADCAST_EDGE), Reducer 17 (BROADCAST_EDGE)
-Map 24 <- Reducer 10 (BROADCAST_EDGE), Reducer 20 (BROADCAST_EDGE)
-Map 25 <- Reducer 23 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
+Map 13 <- Reducer 16 (BROADCAST_EDGE)
+Map 21 <- Reducer 10 (BROADCAST_EDGE)
+Map 22 <- Reducer 9 (BROADCAST_EDGE)
Reducer 10 <- Reducer 4 (CUSTOM_SIMPLE_EDGE)
-Reducer 11 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
-Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE)
-Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
-Reducer 18 <- Map 16 (SIMPLE_EDGE), Map 24 (SIMPLE_EDGE)
-Reducer 19 <- Reducer 18 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE)
-Reducer 20 <- Map 16 (CUSTOM_SIMPLE_EDGE)
-Reducer 21 <- Map 16 (SIMPLE_EDGE), Map 25 (SIMPLE_EDGE)
-Reducer 22 <- Reducer 21 (SIMPLE_EDGE)
-Reducer 23 <- Map 16 (CUSTOM_SIMPLE_EDGE)
-Reducer 3 <- Map 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 15 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 19 (ONE_TO_ONE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
-Reducer 6 <- Reducer 22 (ONE_TO_ONE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
+Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
+Reducer 16 <- Map 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 15 (SIMPLE_EDGE), Map 21 (SIMPLE_EDGE)
+Reducer 18 <- Reducer 17 (SIMPLE_EDGE)
+Reducer 19 <- Map 15 (SIMPLE_EDGE), Map 22 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
+Reducer 20 <- Reducer 19 (SIMPLE_EDGE)
+Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 18 (ONE_TO_ONE_EDGE), Reducer 4 (ONE_TO_ONE_EDGE)
+Reducer 6 <- Reducer 20 (ONE_TO_ONE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
Reducer 9 <- Reducer 5 (CUSTOM_SIMPLE_EDGE)
@@ -136,16 +133,16 @@ Stage-0
limit:100
Stage-1
Reducer 8 vectorized
- File Output Operator [FS_238]
- Limit [LIM_237] (rows=1 width=383)
+ File Output Operator [FS_226]
+ Limit [LIM_225] (rows=1 width=383)
Number of rows:100
- Select Operator [SEL_236] (rows=1 width=383)
+ Select Operator [SEL_224] (rows=1 width=383)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
<-Reducer 7 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_235]
- Select Operator [SEL_234] (rows=1 width=383)
+ SHUFFLE [RS_223]
+ Select Operator [SEL_222] (rows=1 width=383)
Output:["_col0","_col1","_col2","_col3","_col4","_col6"]
- Group By Operator [GBY_233] (rows=1 width=367)
+ Group By Operator [GBY_221] (rows=1 width=367)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3, KEY._col4
<-Reducer 6 [SIMPLE_EDGE]
SHUFFLE [RS_68]
@@ -159,7 +156,7 @@ Stage-0
Filter Operator [FIL_65] (rows=1 width=363)
predicate:_col14 is null
Merge Join Operator [MERGEJOIN_183] (rows=1 width=363)
- Conds:RS_62._col0=RS_232._col0(Left Outer),Output:["_col6","_col7","_col8","_col9","_col10","_col14"]
+ Conds:RS_62._col0=RS_220._col0(Left Outer),Output:["_col6","_col7","_col8","_col9","_col10","_col14"]
<-Reducer 5 [ONE_TO_ONE_EDGE]
PARTITION_ONLY_SHUFFLE [RS_62]
PartitionCols:_col0
@@ -168,18 +165,56 @@ Stage-0
Filter Operator [FIL_46] (rows=1 width=367)
predicate:_col12 is null
Merge Join Operator [MERGEJOIN_182] (rows=33 width=367)
- Conds:RS_43._col0=RS_222._col0(Left Outer),Output:["_col0","_col6","_col7","_col8","_col9","_col10","_col12"]
+ Conds:RS_43._col0=RS_212._col0(Left Outer),Output:["_col0","_col6","_col7","_col8","_col9","_col10","_col12"]
<-Reducer 4 [ONE_TO_ONE_EDGE]
FORWARD [RS_43]
PartitionCols:_col0
Merge Join Operator [MERGEJOIN_181] (rows=6841 width=363)
Conds:RS_40._col0=RS_41._col0(Left Semi),Output:["_col0","_col6","_col7","_col8","_col9","_col10"]
+ <-Reducer 14 [SIMPLE_EDGE]
+ SHUFFLE [RS_41]
+ PartitionCols:_col0
+ Group By Operator [GBY_39] (rows=116289 width=1)
+ Output:["_col0"],keys:_col0
+ Select Operator [SEL_17] (rows=43153353 width=1)
+ Output:["_col0"]
+ Merge Join Operator [MERGEJOIN_178] (rows=43153353 width=1)
+ Conds:RS_204._col0=RS_194._col0(Inner),Output:["_col1"]
+ <-Map 15 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_194]
+ PartitionCols:_col0
+ Select Operator [SEL_193] (rows=150 width=4)
+ Output:["_col0"]
+ Filter Operator [FIL_192] (rows=150 width=12)
+ predicate:((d_year = 1999) and d_moy BETWEEN 1 AND 3)
+ TableScan [TS_11] (rows=73049 width=12)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
+ <-Map 13 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_204]
+ PartitionCols:_col0
+ Select Operator [SEL_203] (rows=525327388 width=7)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_202] (rows=525327388 width=7)
+ predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_15_date_dim_d_date_sk_min) AND DynamicValue(RS_15_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_15_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
+ TableScan [TS_8] (rows=575995635 width=7)
+ default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk"]
+ <-Reducer 16 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_201]
+ Group By Operator [GBY_200] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_199]
+ Group By Operator [GBY_198] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_195] (rows=150 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_193]
<-Reducer 3 [SIMPLE_EDGE]
SHUFFLE [RS_40]
PartitionCols:_col0
Merge Join Operator [MERGEJOIN_177] (rows=4605476 width=363)
Conds:RS_35._col1=RS_191._col0(Inner),Output:["_col0","_col6","_col7","_col8","_col9","_col10"]
- <-Map 13 [SIMPLE_EDGE] vectorized
+ <-Map 12 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_191]
PartitionCols:_col0
Select Operator [SEL_190] (rows=1861800 width=363)
@@ -200,7 +235,7 @@ Stage-0
predicate:(c_current_addr_sk is not null and c_current_cdemo_sk is not null)
TableScan [TS_0] (rows=80000000 width=11)
default@customer,c,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_cdemo_sk","c_current_addr_sk"]
- <-Map 12 [SIMPLE_EDGE] vectorized
+ <-Map 11 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_189]
PartitionCols:_col0
Select Operator [SEL_188] (rows=2352941 width=90)
@@ -209,85 +244,36 @@ Stage-0
predicate:(ca_state) IN ('CO', 'IL', 'MN')
TableScan [TS_3] (rows=40000000 width=90)
default@customer_address,ca,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"]
- <-Reducer 15 [SIMPLE_EDGE]
- SHUFFLE [RS_41]
- PartitionCols:_col0
- Group By Operator [GBY_39] (rows=116289 width=1)
- Output:["_col0"],keys:_col0
- Select Operator [SEL_17] (rows=43153353 width=1)
- Output:["_col0"]
- Merge Join Operator [MERGEJOIN_178] (rows=43153353 width=1)
- Conds:RS_212._col0=RS_194._col0(Inner),Output:["_col1"]
- <-Map 16 [SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_194]
- PartitionCols:_col0
- Select Operator [SEL_193] (rows=150 width=4)
- Output:["_col0"]
- Filter Operator [FIL_192] (rows=150 width=12)
- predicate:((d_year = 1999) and d_moy BETWEEN 1 AND 3)
- TableScan [TS_11] (rows=73049 width=12)
- default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
- <-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_212]
- PartitionCols:_col0
- Select Operator [SEL_211] (rows=525327388 width=7)
- Output:["_col0","_col1"]
- Filter Operator [FIL_210] (rows=525327388 width=7)
- predicate:((ss_customer_sk BETWEEN DynamicValue(RS_40_c_c_customer_sk_min) AND DynamicValue(RS_40_c_c_customer_sk_max) and in_bloom_filter(ss_customer_sk, DynamicValue(RS_40_c_c_customer_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_15_date_dim_d_date_sk_min) AND DynamicValue(RS_15_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_15_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
- TableScan [TS_8] (rows=575995635 width=7)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk"]
- <-Reducer 11 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_209]
- Group By Operator [GBY_208] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=4291485)"]
- <-Reducer 3 [CUSTOM_SIMPLE_EDGE]
- SHUFFLE [RS_137]
- Group By Operator [GBY_136] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=4291485)"]
- Select Operator [SEL_135] (rows=4605476 width=4)
- Output:["_col0"]
- Please refer to the previous Merge Join Operator [MERGEJOIN_177]
- <-Reducer 17 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_207]
- Group By Operator [GBY_206] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_203]
- Group By Operator [GBY_200] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_195] (rows=150 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
- <-Reducer 19 [ONE_TO_ONE_EDGE] vectorized
- FORWARD [RS_222]
+ <-Reducer 18 [ONE_TO_ONE_EDGE] vectorized
+ FORWARD [RS_212]
PartitionCols:_col0
- Select Operator [SEL_221] (rows=116289 width=7)
+ Select Operator [SEL_211] (rows=116289 width=7)
Output:["_col0","_col1"]
- Group By Operator [GBY_220] (rows=116289 width=3)
+ Group By Operator [GBY_210] (rows=116289 width=3)
Output:["_col0"],keys:KEY._col0
- <-Reducer 18 [SIMPLE_EDGE]
+ <-Reducer 17 [SIMPLE_EDGE]
SHUFFLE [RS_29]
PartitionCols:_col0
Group By Operator [GBY_28] (rows=116289 width=3)
Output:["_col0"],keys:_col1
Merge Join Operator [MERGEJOIN_179] (rows=11823304 width=3)
- Conds:RS_219._col0=RS_196._col0(Inner),Output:["_col1"]
- <-Map 16 [SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_196]
+ Conds:RS_209._col0=RS_196._col0(Inner),Output:["_col1"]
+ <-Map 15 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_196]
PartitionCols:_col0
Please refer to the previous Select Operator [SEL_193]
- <-Map 24 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_219]
+ <-Map 21 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_209]
PartitionCols:_col0
- Select Operator [SEL_218] (rows=143930993 width=7)
+ Select Operator [SEL_208] (rows=143930993 width=7)
Output:["_col0","_col1"]
- Filter Operator [FIL_217] (rows=143930993 width=7)
- predicate:((ws_bill_customer_sk BETWEEN DynamicValue(RS_43_c_c_customer_sk_min) AND DynamicValue(RS_43_c_c_customer_sk_max) and in_bloom_filter(ws_bill_customer_sk, DynamicValue(RS_43_c_c_customer_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_25_date_dim_d_date_sk_min) AND DynamicValue(RS_25_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_25_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+ Filter Operator [FIL_207] (rows=143930993 width=7)
+ predicate:((ws_bill_customer_sk BETWEEN DynamicValue(RS_43_c_c_customer_sk_min) AND DynamicValue(RS_43_c_c_customer_sk_max) and in_bloom_filter(ws_bill_customer_sk, DynamicValue(RS_43_c_c_customer_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
TableScan [TS_18] (rows=144002668 width=7)
default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_customer_sk"]
<-Reducer 10 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_216]
- Group By Operator [GBY_215] (rows=1 width=12)
+ BROADCAST [RS_206]
+ Group By Operator [GBY_205] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
<-Reducer 4 [CUSTOM_SIMPLE_EDGE]
FORWARD [RS_152]
@@ -296,58 +282,36 @@ Stage-0
Select Operator [SEL_150] (rows=6841 width=4)
Output:["_col0"]
Please refer to the previous Merge Join Operator [MERGEJOIN_181]
- <-Reducer 20 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_214]
- Group By Operator [GBY_213] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_204]
- Group By Operator [GBY_201] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_197] (rows=150 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
- <-Reducer 22 [ONE_TO_ONE_EDGE] vectorized
- FORWARD [RS_232]
+ <-Reducer 20 [ONE_TO_ONE_EDGE] vectorized
+ FORWARD [RS_220]
PartitionCols:_col0
- Select Operator [SEL_231] (rows=115467 width=7)
+ Select Operator [SEL_219] (rows=115467 width=7)
Output:["_col0","_col1"]
- Group By Operator [GBY_230] (rows=115467 width=3)
+ Group By Operator [GBY_218] (rows=115467 width=3)
Output:["_col0"],keys:KEY._col0
- <-Reducer 21 [SIMPLE_EDGE]
+ <-Reducer 19 [SIMPLE_EDGE]
SHUFFLE [RS_59]
PartitionCols:_col0
Group By Operator [GBY_58] (rows=115467 width=3)
Output:["_col0"],keys:_col1
Merge Join Operator [MERGEJOIN_180] (rows=23255411 width=3)
- Conds:RS_229._col0=RS_198._col0(Inner),Output:["_col1"]
- <-Map 16 [SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_198]
+ Conds:RS_217._col0=RS_197._col0(Inner),Output:["_col1"]
+ <-Map 15 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_197]
PartitionCols:_col0
Please refer to the previous Select Operator [SEL_193]
- <-Map 25 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_229]
+ <-Map 22 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_217]
PartitionCols:_col0
- Select Operator [SEL_228] (rows=285115246 width=7)
+ Select Operator [SEL_216] (rows=285115246 width=7)
Output:["_col0","_col1"]
- Filter Operator [FIL_227] (rows=285115246 width=7)
- predicate:((cs_ship_customer_sk BETWEEN DynamicValue(RS_62_c_c_customer_sk_min) AND DynamicValue(RS_62_c_c_customer_sk_max) and in_bloom_filter(cs_ship_customer_sk, DynamicValue(RS_62_c_c_customer_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_55_date_dim_d_date_sk_min) AND DynamicValue(RS_55_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_55_date_dim_d_date_sk_bloom_filter))) and cs_ship_customer_sk is not null and cs_sold_date_sk is not null)
+ Filter Operator [FIL_215] (rows=285115246 width=7)
+ predicate:((cs_ship_customer_sk BETWEEN DynamicValue(RS_62_c_c_customer_sk_min) AND DynamicValue(RS_62_c_c_customer_sk_max) and in_bloom_filter(cs_ship_customer_sk, DynamicValue(RS_62_c_c_customer_sk_bloom_filter))) and cs_ship_customer_sk is not null and cs_sold_date_sk is not null)
TableScan [TS_48] (rows=287989836 width=7)
default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_ship_customer_sk"]
- <-Reducer 23 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_224]
- Group By Operator [GBY_223] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_205]
- Group By Operator [GBY_202] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_199] (rows=150 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
<-Reducer 9 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_226]
- Group By Operator [GBY_225] (rows=1 width=12)
+ BROADCAST [RS_214]
+ Group By Operator [GBY_213] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
<-Reducer 5 [CUSTOM_SIMPLE_EDGE]
PARTITION_ONLY_SHUFFLE [RS_167]
http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/constraints/query7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query7.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query7.q.out
index 6cfaac6..ed7f029 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query7.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query7.q.out
@@ -53,12 +53,11 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Reducer 11 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
-Reducer 11 <- Map 10 (CUSTOM_SIMPLE_EDGE)
+Map 1 <- Reducer 9 (BROADCAST_EDGE)
Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
Reducer 3 <- Map 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 12 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 13 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
@@ -68,16 +67,16 @@ Stage-0
limit:100
Stage-1
Reducer 7 vectorized
- File Output Operator [FS_128]
- Limit [LIM_127] (rows=100 width=444)
+ File Output Operator [FS_123]
+ Limit [LIM_122] (rows=100 width=444)
Number of rows:100
- Select Operator [SEL_126] (rows=310774 width=444)
+ Select Operator [SEL_121] (rows=310774 width=444)
Output:["_col0","_col1","_col2","_col3","_col4"]
<-Reducer 6 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_125]
- Select Operator [SEL_124] (rows=310774 width=444)
+ SHUFFLE [RS_120]
+ Select Operator [SEL_119] (rows=310774 width=444)
Output:["_col0","_col1","_col2","_col3","_col4"]
- Group By Operator [GBY_123] (rows=310774 width=476)
+ Group By Operator [GBY_118] (rows=310774 width=476)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)","sum(VALUE._col6)","count(VALUE._col7)"],keys:KEY._col0
<-Reducer 5 [SIMPLE_EDGE]
SHUFFLE [RS_28]
@@ -87,11 +86,11 @@ Stage-0
Top N Key Operator [TNK_54] (rows=1441769 width=100)
keys:_col12,sort order:+,top n:100
Merge Join Operator [MERGEJOIN_98] (rows=1441769 width=100)
- Conds:RS_23._col1=RS_122._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col12"]
- <-Map 13 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_122]
+ Conds:RS_23._col1=RS_117._col0(Inner),Output:["_col4","_col5","_col6","_col7","_col12"]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_117]
PartitionCols:_col0
- Select Operator [SEL_121] (rows=462000 width=104)
+ Select Operator [SEL_116] (rows=462000 width=104)
Output:["_col0","_col1"]
TableScan [TS_12] (rows=462000 width=104)
default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
@@ -99,13 +98,13 @@ Stage-0
SHUFFLE [RS_23]
PartitionCols:_col1
Merge Join Operator [MERGEJOIN_97] (rows=1441769 width=4)
- Conds:RS_20._col3=RS_120._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7"]
- <-Map 12 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_120]
+ Conds:RS_20._col3=RS_115._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col7"]
+ <-Map 11 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_115]
PartitionCols:_col0
- Select Operator [SEL_119] (rows=2300 width=4)
+ Select Operator [SEL_114] (rows=2300 width=4)
Output:["_col0"]
- Filter Operator [FIL_118] (rows=2300 width=174)
+ Filter Operator [FIL_113] (rows=2300 width=174)
predicate:((p_channel_email = 'N') or (p_channel_event = 'N'))
TableScan [TS_9] (rows=2300 width=174)
default@promotion,promotion,Tbl:COMPLETE,Col:COMPLETE,Output:["p_promo_sk","p_channel_email","p_channel_event"]
@@ -113,13 +112,13 @@ Stage-0
SHUFFLE [RS_20]
PartitionCols:_col3
Merge Join Operator [MERGEJOIN_96] (rows=1441769 width=4)
- Conds:RS_17._col0=RS_109._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7"]
+ Conds:RS_17._col0=RS_112._col0(Inner),Output:["_col1","_col3","_col4","_col5","_col6","_col7"]
<-Map 10 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_109]
+ SHUFFLE [RS_112]
PartitionCols:_col0
- Select Operator [SEL_108] (rows=652 width=4)
+ Select Operator [SEL_111] (rows=652 width=4)
Output:["_col0"]
- Filter Operator [FIL_107] (rows=652 width=8)
+ Filter Operator [FIL_110] (rows=652 width=8)
predicate:(d_year = 1998)
TableScan [TS_6] (rows=73049 width=8)
default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
@@ -127,7 +126,7 @@ Stage-0
SHUFFLE [RS_17]
PartitionCols:_col0
Merge Join Operator [MERGEJOIN_95] (rows=4037893 width=4)
- Conds:RS_117._col2=RS_101._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"]
+ Conds:RS_109._col2=RS_101._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"]
<-Map 8 [SIMPLE_EDGE] vectorized
PARTITION_ONLY_SHUFFLE [RS_101]
PartitionCols:_col0
@@ -138,25 +137,14 @@ Stage-0
TableScan [TS_3] (rows=1861800 width=268)
default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_gender","cd_marital_status","cd_education_status"]
<-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_117]
+ SHUFFLE [RS_109]
PartitionCols:_col2
- Select Operator [SEL_116] (rows=501686735 width=340)
+ Select Operator [SEL_108] (rows=501686735 width=340)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
- Filter Operator [FIL_115] (rows=501686735 width=340)
- predicate:((ss_cdemo_sk BETWEEN DynamicValue(RS_15_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_15_customer_demographics_cd_demo_sk_max) and in_bloom_filter(ss_cdemo_sk, DynamicValue(RS_15_customer_demographics_cd_demo_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_18_date_dim_d_date_sk_min) AND DynamicValue(RS_18_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_18_date_dim_d_date_sk_bloom_filter))) and ss_cdemo_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null)
+ Filter Operator [FIL_107] (rows=501686735 width=340)
+ predicate:((ss_cdemo_sk BETWEEN DynamicValue(RS_15_customer_demographics_cd_demo_sk_min) AND DynamicValue(RS_15_customer_demographics_cd_demo_sk_max) and in_bloom_filter(ss_cdemo_sk, DynamicValue(RS_15_customer_demographics_cd_demo_sk_bloom_filter))) and ss_cdemo_sk is not null and ss_promo_sk is not null and ss_sold_date_sk is not null)
TableScan [TS_0] (rows=575995635 width=340)
default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_cdemo_sk","ss_promo_sk","ss_quantity","ss_list_price","ss_sales_price","ss_coupon_amt"]
- <-Reducer 11 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_114]
- Group By Operator [GBY_113] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 10 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_112]
- Group By Operator [GBY_111] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_110] (rows=652 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_108]
<-Reducer 9 [BROADCAST_EDGE] vectorized
BROADCAST [RS_106]
Group By Operator [GBY_105] (rows=1 width=12)
http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out
index 2d83c98..17e2f99 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out
@@ -83,46 +83,42 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Reducer 14 (BROADCAST_EDGE), Reducer 8 (BROADCAST_EDGE)
-Map 17 <- Reducer 15 (BROADCAST_EDGE)
-Reducer 10 <- Map 18 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 11 <- Reducer 10 (SIMPLE_EDGE)
-Reducer 12 <- Reducer 11 (SIMPLE_EDGE)
-Reducer 13 <- Map 16 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
-Reducer 14 <- Reducer 13 (CUSTOM_SIMPLE_EDGE)
-Reducer 15 <- Map 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 1 <- Reducer 12 (BROADCAST_EDGE)
+Reducer 10 <- Map 13 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 8 <- Map 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Map 17 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 7 <- Map 14 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:-1
Stage-1
Reducer 6 vectorized
- File Output Operator [FS_181]
- Limit [LIM_180] (rows=1 width=492)
+ File Output Operator [FS_170]
+ Limit [LIM_169] (rows=1 width=492)
Number of rows:100
- Select Operator [SEL_179] (rows=1 width=492)
+ Select Operator [SEL_168] (rows=1 width=492)
Output:["_col0","_col1","_col2","_col3","_col4"]
<-Reducer 5 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_178]
- Select Operator [SEL_177] (rows=1 width=492)
+ SHUFFLE [RS_167]
+ Select Operator [SEL_166] (rows=1 width=492)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
- PTF Operator [PTF_176] (rows=1 width=304)
+ PTF Operator [PTF_165] (rows=1 width=304)
Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
- Select Operator [SEL_175] (rows=1 width=304)
+ Select Operator [SEL_164] (rows=1 width=304)
Output:["_col0","_col1","_col2","_col3"]
<-Reducer 4 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_174]
+ SHUFFLE [RS_163]
PartitionCols:(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
- Select Operator [SEL_173] (rows=1 width=304)
+ Select Operator [SEL_162] (rows=1 width=304)
Output:["_col0","_col1","_col2","_col3"]
- Group By Operator [GBY_172] (rows=1 width=304)
+ Group By Operator [GBY_161] (rows=1 width=304)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2
<-Reducer 3 [SIMPLE_EDGE]
SHUFFLE [RS_50]
@@ -133,124 +129,88 @@ Stage-0
Output:["_col0","_col1","_col2"]
Merge Join Operator [MERGEJOIN_136] (rows=1 width=296)
Conds:RS_44._col1=RS_45._col0(Inner),Output:["_col2","_col6","_col7"]
- <-Reducer 13 [SIMPLE_EDGE]
+ <-Reducer 2 [SIMPLE_EDGE]
+ SHUFFLE [RS_44]
+ PartitionCols:_col1
+ Merge Join Operator [MERGEJOIN_132] (rows=91197860 width=85)
+ Conds:RS_147._col0=RS_139._col0(Inner),Output:["_col1","_col2"]
+ <-Map 11 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_139]
+ PartitionCols:_col0
+ Select Operator [SEL_138] (rows=317 width=8)
+ Output:["_col0"]
+ Filter Operator [FIL_137] (rows=317 width=8)
+ predicate:d_month_seq BETWEEN 1212 AND 1223
+ TableScan [TS_3] (rows=73049 width=8)
+ default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_147]
+ PartitionCols:_col0
+ Select Operator [SEL_146] (rows=525329897 width=114)
+ Output:["_col0","_col1","_col2"]
+ Filter Operator [FIL_145] (rows=525329897 width=114)
+ predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_42_d1_d_date_sk_min) AND DynamicValue(RS_42_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_42_d1_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
+ TableScan [TS_0] (rows=575995635 width=114)
+ default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_store_sk","ss_net_profit"]
+ <-Reducer 12 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_144]
+ Group By Operator [GBY_143] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_142]
+ Group By Operator [GBY_141] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_140] (rows=317 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_138]
+ <-Reducer 10 [SIMPLE_EDGE]
SHUFFLE [RS_45]
PartitionCols:_col0
Merge Join Operator [MERGEJOIN_135] (rows=556 width=188)
- Conds:RS_166._col2=RS_163._col0(Inner),Output:["_col0","_col1","_col2"]
- <-Map 16 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_166]
+ Conds:RS_160._col2=RS_157._col0(Inner),Output:["_col0","_col1","_col2"]
+ <-Map 13 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_160]
PartitionCols:_col2
- Select Operator [SEL_165] (rows=1704 width=188)
+ Select Operator [SEL_159] (rows=1704 width=188)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_164] (rows=1704 width=188)
+ Filter Operator [FIL_158] (rows=1704 width=188)
predicate:s_state is not null
TableScan [TS_6] (rows=1704 width=188)
default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_county","s_state"]
- <-Reducer 12 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_163]
+ <-Reducer 9 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_157]
PartitionCols:_col0
- Select Operator [SEL_162] (rows=16 width=86)
+ Select Operator [SEL_156] (rows=16 width=86)
Output:["_col0"]
- Filter Operator [FIL_161] (rows=16 width=198)
+ Filter Operator [FIL_155] (rows=16 width=198)
predicate:(rank_window_0 <= 5)
- PTF Operator [PTF_160] (rows=49 width=198)
+ PTF Operator [PTF_154] (rows=49 width=198)
Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 DESC NULLS LAST","partition by:":"_col0"}]
- Select Operator [SEL_159] (rows=49 width=198)
+ Select Operator [SEL_153] (rows=49 width=198)
Output:["_col0","_col1"]
- <-Reducer 11 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_158]
+ <-Reducer 8 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_152]
PartitionCols:_col0
- Group By Operator [GBY_157] (rows=49 width=198)
+ Group By Operator [GBY_151] (rows=49 width=198)
Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
- <-Reducer 10 [SIMPLE_EDGE]
+ <-Reducer 7 [SIMPLE_EDGE]
SHUFFLE [RS_26]
PartitionCols:_col0
Group By Operator [GBY_25] (rows=2989 width=198)
Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
Merge Join Operator [MERGEJOIN_134] (rows=91197860 width=168)
- Conds:RS_21._col1=RS_156._col0(Inner),Output:["_col2","_col5"]
- <-Map 18 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_156]
+ Conds:RS_21._col1=RS_150._col0(Inner),Output:["_col2","_col5"]
+ <-Reducer 2 [SIMPLE_EDGE]
+ SHUFFLE [RS_21]
+ PartitionCols:_col1
+ Please refer to the previous Merge Join Operator [MERGEJOIN_132]
+ <-Map 14 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_150]
PartitionCols:_col0
- Select Operator [SEL_155] (rows=1704 width=90)
+ Select Operator [SEL_149] (rows=1704 width=90)
Output:["_col0","_col1"]
- Filter Operator [FIL_154] (rows=1704 width=90)
+ Filter Operator [FIL_148] (rows=1704 width=90)
predicate:s_state is not null
TableScan [TS_15] (rows=1704 width=90)
default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_state"]
- <-Reducer 9 [SIMPLE_EDGE]
- SHUFFLE [RS_21]
- PartitionCols:_col1
- Merge Join Operator [MERGEJOIN_133] (rows=91197860 width=85)
- Conds:RS_153._col0=RS_141._col0(Inner),Output:["_col1","_col2"]
- <-Map 7 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_141]
- PartitionCols:_col0
- Select Operator [SEL_138] (rows=317 width=8)
- Output:["_col0"]
- Filter Operator [FIL_137] (rows=317 width=8)
- predicate:d_month_seq BETWEEN 1212 AND 1223
- TableScan [TS_3] (rows=73049 width=8)
- default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"]
- <-Map 17 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_153]
- PartitionCols:_col0
- Select Operator [SEL_152] (rows=525329897 width=114)
- Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_151] (rows=525329897 width=114)
- predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
- TableScan [TS_9] (rows=575995635 width=114)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_store_sk","ss_net_profit"]
- <-Reducer 15 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_150]
- Group By Operator [GBY_149] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_146]
- Group By Operator [GBY_144] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_142] (rows=317 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_138]
- <-Reducer 2 [SIMPLE_EDGE]
- SHUFFLE [RS_44]
- PartitionCols:_col1
- Merge Join Operator [MERGEJOIN_132] (rows=91197860 width=85)
- Conds:RS_171._col0=RS_139._col0(Inner),Output:["_col1","_col2"]
- <-Map 7 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_139]
- PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_138]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_171]
- PartitionCols:_col0
- Select Operator [SEL_170] (rows=525329897 width=114)
- Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_169] (rows=525329897 width=114)
- predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_42_d1_d_date_sk_min) AND DynamicValue(RS_42_d1_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_42_d1_d_date_sk_bloom_filter))) and (ss_store_sk BETWEEN DynamicValue(RS_45_store_s_store_sk_min) AND DynamicValue(RS_45_store_s_store_sk_max) and in_bloom_filter(ss_store_sk, DynamicValue(RS_45_store_s_store_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_store_sk is not null)
- TableScan [TS_0] (rows=575995635 width=114)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_store_sk","ss_net_profit"]
- <-Reducer 14 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_168]
- Group By Operator [GBY_167] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Reducer 13 [CUSTOM_SIMPLE_EDGE]
- SHUFFLE [RS_94]
- Group By Operator [GBY_93] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_92] (rows=556 width=4)
- Output:["_col0"]
- Please refer to the previous Merge Join Operator [MERGEJOIN_135]
- <-Reducer 8 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_148]
- Group By Operator [GBY_147] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 7 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_145]
- Group By Operator [GBY_143] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_140] (rows=317 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_138]
http://git-wip-us.apache.org/repos/asf/hive/blob/e986fc56/ql/src/test/results/clientpositive/perf/tez/constraints/query71.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query71.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query71.q.out
index 81f7961..8c60eea 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query71.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query71.q.out
@@ -91,18 +91,16 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Reducer 19 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE), Reducer 9 (BROADCAST_EDGE)
-Map 10 <- Reducer 13 (BROADCAST_EDGE), Reducer 19 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE)
-Map 14 <- Reducer 17 (BROADCAST_EDGE), Reducer 19 (BROADCAST_EDGE), Reducer 21 (BROADCAST_EDGE)
+Map 1 <- Reducer 9 (BROADCAST_EDGE)
+Map 10 <- Reducer 13 (BROADCAST_EDGE)
+Map 14 <- Reducer 17 (BROADCAST_EDGE)
Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE), Union 3 (CONTAINS)
Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE), Union 3 (CONTAINS)
Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
-Reducer 19 <- Map 18 (CUSTOM_SIMPLE_EDGE)
Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE), Union 3 (CONTAINS)
-Reducer 21 <- Map 20 (CUSTOM_SIMPLE_EDGE)
Reducer 4 <- Map 18 (SIMPLE_EDGE), Union 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 20 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 5 <- Map 19 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
Reducer 9 <- Map 8 (CUSTOM_SIMPLE_EDGE)
@@ -112,14 +110,14 @@ Stage-0
limit:-1
Stage-1
Reducer 7 vectorized
- File Output Operator [FS_188]
- Select Operator [SEL_187] (rows=1991967 width=223)
+ File Output Operator [FS_174]
+ Select Operator [SEL_173] (rows=1991967 width=223)
Output:["_col0","_col1","_col2","_col3","_col4"]
<-Reducer 6 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_186]
- Select Operator [SEL_185] (rows=1991967 width=227)
+ SHUFFLE [RS_172]
+ Select Operator [SEL_171] (rows=1991967 width=227)
Output:["_col1","_col2","_col3","_col4","_col5"]
- Group By Operator [GBY_184] (rows=1991967 width=223)
+ Group By Operator [GBY_170] (rows=1991967 width=223)
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
<-Reducer 5 [SIMPLE_EDGE]
SHUFFLE [RS_46]
@@ -127,13 +125,13 @@ Stage-0
Group By Operator [GBY_45] (rows=1991967 width=223)
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col0)"],keys:_col4, _col7, _col8, _col5
Merge Join Operator [MERGEJOIN_140] (rows=1991967 width=112)
- Conds:RS_41._col2=RS_173._col0(Inner),Output:["_col0","_col4","_col5","_col7","_col8"]
- <-Map 20 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_173]
+ Conds:RS_41._col2=RS_169._col0(Inner),Output:["_col0","_col4","_col5","_col7","_col8"]
+ <-Map 19 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_169]
PartitionCols:_col0
- Select Operator [SEL_172] (rows=43200 width=12)
+ Select Operator [SEL_168] (rows=43200 width=12)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_171] (rows=43200 width=99)
+ Filter Operator [FIL_167] (rows=43200 width=99)
predicate:(t_meal_time) IN ('breakfast', 'dinner')
TableScan [TS_35] (rows=86400 width=99)
default@time_dim,time_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["t_time_sk","t_hour","t_minute","t_meal_time"]
@@ -141,13 +139,13 @@ Stage-0
SHUFFLE [RS_41]
PartitionCols:_col2
Merge Join Operator [MERGEJOIN_139] (rows=3983933 width=104)
- Conds:Union 3._col1=RS_163._col0(Inner),Output:["_col0","_col2","_col4","_col5"]
+ Conds:Union 3._col1=RS_166._col0(Inner),Output:["_col0","_col2","_col4","_col5"]
<-Map 18 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_163]
+ SHUFFLE [RS_166]
PartitionCols:_col0
- Select Operator [SEL_162] (rows=7333 width=107)
+ Select Operator [SEL_165] (rows=7333 width=107)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_161] (rows=7333 width=111)
+ Filter Operator [FIL_164] (rows=7333 width=111)
predicate:(i_manager_id = 1)
TableScan [TS_32] (rows=462000 width=111)
default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_brand_id","i_brand","i_manager_id"]
@@ -158,107 +156,79 @@ Stage-0
Select Operator [SEL_146] (rows=7751851 width=98)
Output:["_col0","_col1","_col2"]
Merge Join Operator [MERGEJOIN_145] (rows=7751851 width=98)
- Conds:RS_199._col0=RS_191._col0(Inner),Output:["_col1","_col2","_col3"]
+ Conds:RS_185._col0=RS_177._col0(Inner),Output:["_col1","_col2","_col3"]
<-Map 12 [SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_191]
+ PARTITION_ONLY_SHUFFLE [RS_177]
PartitionCols:_col0
- Select Operator [SEL_190] (rows=50 width=4)
+ Select Operator [SEL_176] (rows=50 width=4)
Output:["_col0"]
- Filter Operator [FIL_189] (rows=50 width=12)
+ Filter Operator [FIL_175] (rows=50 width=12)
predicate:((d_moy = 12) and (d_year = 2001))
TableScan [TS_13] (rows=73049 width=12)
default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
<-Map 10 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_199]
+ SHUFFLE [RS_185]
PartitionCols:_col0
- Select Operator [SEL_198] (rows=285116947 width=123)
+ Select Operator [SEL_184] (rows=285116947 width=123)
Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_197] (rows=285116947 width=123)
- predicate:((cs_item_sk BETWEEN DynamicValue(RS_39_item_i_item_sk_min) AND DynamicValue(RS_39_item_i_item_sk_max) and in_bloom_filter(cs_item_sk, DynamicValue(RS_39_item_i_item_sk_bloom_filter))) and (cs_sold_date_sk BETWEEN DynamicValue(RS_17_date_dim_d_date_sk_min) AND DynamicValue(RS_17_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_17_date_dim_d_date_sk_bloom_filter))) and (cs_sold_time_sk BETWEEN DynamicValue(RS_42_time_dim_t_time_sk_min) AND DynamicValue(RS_42_time_dim_t_time_sk_max) and in_bloom_filter(cs_sold_time_sk, DynamicValue(RS_42_time_dim_t_time_sk_bloom_filter))) and cs_sold_date_sk is not null and cs_sold_time_sk is not null)
+ Filter Operator [FIL_183] (rows=285116947 width=123)
+ predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_17_date_dim_d_date_sk_min) AND DynamicValue(RS_17_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_17_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null and cs_sold_time_sk is not null)
TableScan [TS_10] (rows=287989836 width=123)
default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_sold_time_sk","cs_item_sk","cs_ext_sales_price"]
- <-Reducer 19 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_169]
- Group By Operator [GBY_167] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 18 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_166]
- Group By Operator [GBY_165] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_164] (rows=7333 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_162]
- <-Reducer 21 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_179]
- Group By Operator [GBY_177] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 20 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_176]
- Group By Operator [GBY_175] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_174] (rows=43200 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_172]
<-Reducer 13 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_196]
- Group By Operator [GBY_195] (rows=1 width=12)
+ BROADCAST [RS_182]
+ Group By Operator [GBY_181] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
<-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_194]
- Group By Operator [GBY_193] (rows=1 width=12)
+ PARTITION_ONLY_SHUFFLE [RS_180]
+ Group By Operator [GBY_179] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_192] (rows=50 width=4)
+ Select Operator [SEL_178] (rows=50 width=4)
Output:["_col0"]
- Please refer to the previous Select Operator [SEL_190]
+ Please refer to the previous Select Operator [SEL_176]
<-Reducer 15 [CONTAINS]
Reduce Output Operator [RS_152]
PartitionCols:_col1
Select Operator [SEL_150] (rows=14384397 width=4)
Output:["_col0","_col1","_col2"]
Merge Join Operator [MERGEJOIN_149] (rows=14384397 width=4)
- Conds:RS_210._col0=RS_202._col0(Inner),Output:["_col1","_col2","_col3"]
+ Conds:RS_196._col0=RS_188._col0(Inner),Output:["_col1","_col2","_col3"]
<-Map 16 [SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_202]
+ PARTITION_ONLY_SHUFFLE [RS_188]
PartitionCols:_col0
- Select Operator [SEL_201] (rows=50 width=4)
+ Select Operator [SEL_187] (rows=50 width=4)
Output:["_col0"]
- Filter Operator [FIL_200] (rows=50 width=12)
+ Filter Operator [FIL_186] (rows=50 width=12)
predicate:((d_moy = 12) and (d_year = 2001))
TableScan [TS_24] (rows=73049 width=12)
default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
<-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_210]
+ SHUFFLE [RS_196]
PartitionCols:_col0
- Select Operator [SEL_209] (rows=525325345 width=118)
+ Select Operator [SEL_195] (rows=525325345 width=118)
Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_208] (rows=525325345 width=118)
- predicate:((ss_item_sk BETWEEN DynamicValue(RS_39_item_i_item_sk_min) AND DynamicValue(RS_39_item_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_39_item_i_item_sk_bloom_filter))) and (ss_sold_date_sk BETWEEN DynamicValue(RS_28_date_dim_d_date_sk_min) AND DynamicValue(RS_28_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_28_date_dim_d_date_sk_bloom_filter))) and (ss_sold_time_sk BETWEEN DynamicValue(RS_42_time_dim_t_time_sk_min) AND DynamicValue(RS_42_time_dim_t_time_sk_max) and in_bloom_filter(ss_sold_time_sk, DynamicValue(RS_42_time_dim_t_time_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_sold_time_sk is not null)
+ Filter Operator [FIL_194] (rows=525325345 width=118)
+ predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_28_date_dim_d_date_sk_min) AND DynamicValue(RS_28_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_28_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null and ss_sold_time_sk is not null)
TableScan [TS_21] (rows=575995635 width=118)
default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_sold_time_sk","ss_item_sk","ss_ext_sales_price"]
- <-Reducer 19 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_170]
- Please refer to the previous Group By Operator [GBY_167]
- <-Reducer 21 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_180]
- Please refer to the previous Group By Operator [GBY_177]
<-Reducer 17 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_207]
- Group By Operator [GBY_206] (rows=1 width=12)
+ BROADCAST [RS_193]
+ Group By Operator [GBY_192] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
<-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_205]
- Group By Operator [GBY_204] (rows=1 width=12)
+ PARTITION_ONLY_SHUFFLE [RS_191]
+ Group By Operator [GBY_190] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_203] (rows=50 width=4)
+ Select Operator [SEL_189] (rows=50 width=4)
Output:["_col0"]
- Please refer to the previous Select Operator [SEL_201]
+ Please refer to the previous Select Operator [SEL_187]
<-Reducer 2 [CONTAINS]
Reduce Output Operator [RS_144]
PartitionCols:_col1
Select Operator [SEL_142] (rows=3941098 width=118)
Output:["_col0","_col1","_col2"]
Merge Join Operator [MERGEJOIN_141] (rows=3941098 width=118)
- Conds:RS_183._col0=RS_155._col0(Inner),Output:["_col1","_col2","_col3"]
+ Conds:RS_163._col0=RS_155._col0(Inner),Output:["_col1","_col2","_col3"]
<-Map 8 [SIMPLE_EDGE] vectorized
PARTITION_ONLY_SHUFFLE [RS_155]
PartitionCols:_col0
@@ -269,20 +239,14 @@ Stage-0
TableScan [TS_3] (rows=73049 width=12)
default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_moy"]
<-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_183]
+ SHUFFLE [RS_163]
PartitionCols:_col0
- Select Operator [SEL_182] (rows=143930836 width=123)
+ Select Operator [SEL_162] (rows=143930836 width=123)
Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_181] (rows=143930836 width=123)
- predicate:((ws_item_sk BETWEEN DynamicValue(RS_39_item_i_item_sk_min) AND DynamicValue(RS_39_item_i_item_sk_max) and in_bloom_filter(ws_item_sk, DynamicValue(RS_39_item_i_item_sk_bloom_filter))) and (ws_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and (ws_sold_time_sk BETWEEN DynamicValue(RS_42_time_dim_t_time_sk_min) AND DynamicValue(RS_42_time_dim_t_time_sk_max) and in_bloom_filter(ws_sold_time_sk, DynamicValue(RS_42_time_dim_t_time_sk_bloom_filter))) and ws_sold_date_sk is not null and ws_sold_time_sk is not null)
+ Filter Operator [FIL_161] (rows=143930836 width=123)
+ predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_7_date_dim_d_date_sk_min) AND DynamicValue(RS_7_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_7_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null and ws_sold_time_sk is not null)
TableScan [TS_0] (rows=144002668 width=123)
default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_sold_time_sk","ws_item_sk","ws_ext_sales_price"]
- <-Reducer 19 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_168]
- Please refer to the previous Group By Operator [GBY_167]
- <-Reducer 21 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_178]
- Please refer to the previous Group By Operator [GBY_177]
<-Reducer 9 [BROADCAST_EDGE] vectorized
BROADCAST [RS_160]
Group By Operator [GBY_159] (rows=1 width=12)