diff --git a/ql/src/test/queries/clientpositive/explainanalyze_2.q b/ql/src/test/queries/clientpositive/explainanalyze_2.q index dfee826..8b3df87 100644 --- a/ql/src/test/queries/clientpositive/explainanalyze_2.q +++ b/ql/src/test/queries/clientpositive/explainanalyze_2.q @@ -1,140 +1,4 @@ set hive.explain.user=true; -set hive.metastore.aggregate.stats.cache.enabled=false; - --- SORT_QUERY_RESULTS - -CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE; - -CREATE TABLE ss(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE; - -CREATE TABLE sr(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE; - -CREATE TABLE cs(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE; - -INSERT OVERWRITE TABLE ss -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); - -INSERT OVERWRITE TABLE sr -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=12); - -INSERT OVERWRITE TABLE cs -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08'); - - -ANALYZE TABLE ss COMPUTE STATISTICS; -ANALYZE TABLE ss COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3; - -ANALYZE TABLE sr COMPUTE STATISTICS; -ANALYZE TABLE sr COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3; - -ANALYZE TABLE cs COMPUTE STATISTICS; -ANALYZE TABLE cs COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3; - -set hive.auto.convert.join=false; - -explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); - -explain analyze -select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100; - -explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value); - -explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value); - - -set hive.auto.convert.join=true; -set hive.auto.convert.join.noconditionaltask=true; -set hive.auto.convert.join.noconditionaltask.size=10000; -set hive.stats.fetch.column.stats=false; - - -explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11); - -explain analyze -select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100; explain analyze SELECT x.key, z.value, y.value @@ -219,32 +83,6 @@ UNION ALL select s2.key as key, s2.value as value from tab s2 ) a join tab_part b on (a.key = b.key); -explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union all select * from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src union all select key, value from src)z ON (x.value = z.value); - -explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value); - CREATE TABLE a(key STRING, value STRING) STORED AS TEXTFILE; CREATE TABLE b(key STRING, value STRING) STORED AS TEXTFILE; CREATE TABLE c(key STRING, value STRING) STORED AS TEXTFILE; diff --git a/ql/src/test/results/clientpositive/tez/explainanalyze_2.q.out b/ql/src/test/results/clientpositive/tez/explainanalyze_2.q.out index 0cbddde..23d151c 100644 --- a/ql/src/test/results/clientpositive/tez/explainanalyze_2.q.out +++ b/ql/src/test/results/clientpositive/tez/explainanalyze_2.q.out @@ -1,521 +1,3 @@ -PREHOOK: query: -- SORT_QUERY_RESULTS - -CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:default -PREHOOK: Output: default@dest_j1 -POSTHOOK: query: -- SORT_QUERY_RESULTS - -CREATE TABLE dest_j1(key STRING, value STRING, val2 STRING) STORED AS TEXTFILE -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:default -POSTHOOK: Output: default@dest_j1 -PREHOOK: query: CREATE TABLE ss(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:default -PREHOOK: Output: default@ss -POSTHOOK: query: CREATE TABLE ss(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:default -POSTHOOK: Output: default@ss -PREHOOK: query: CREATE TABLE sr(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:default -PREHOOK: Output: default@sr -POSTHOOK: query: CREATE TABLE sr(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:default -POSTHOOK: Output: default@sr -PREHOOK: query: CREATE TABLE cs(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:default -PREHOOK: Output: default@cs -POSTHOOK: query: CREATE TABLE cs(k1 STRING,v1 STRING,k2 STRING,v2 STRING,k3 STRING,v3 STRING) STORED AS TEXTFILE -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:default -POSTHOOK: Output: default@cs -PREHOOK: query: INSERT OVERWRITE TABLE ss -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Output: default@ss -POSTHOOK: query: INSERT OVERWRITE TABLE ss -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Output: default@ss -POSTHOOK: Lineage: ss.k1 SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: ss.k2 SIMPLE [(src)y.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: ss.k3 SIMPLE [(srcpart)z.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: ss.v1 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: ss.v2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: ss.v3 SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: INSERT OVERWRITE TABLE sr -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=12) -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Output: default@sr -POSTHOOK: query: INSERT OVERWRITE TABLE sr -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=12) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Output: default@sr -POSTHOOK: Lineage: sr.k1 SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: sr.k2 SIMPLE [(src)y.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: sr.k3 SIMPLE [(srcpart)z.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: sr.v1 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: sr.v2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: sr.v3 SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: INSERT OVERWRITE TABLE cs -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08') -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Output: default@cs -POSTHOOK: query: INSERT OVERWRITE TABLE cs -SELECT x.key,x.value,y.key,y.value,z.key,z.value -FROM src1 x -JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08') -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Output: default@cs -POSTHOOK: Lineage: cs.k1 SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: cs.k2 SIMPLE [(src)y.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: cs.k3 SIMPLE [(srcpart)z.FieldSchema(name:key, type:string, comment:default), ] -POSTHOOK: Lineage: cs.v1 SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: cs.v2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ] -POSTHOOK: Lineage: cs.v3 SIMPLE [(srcpart)z.FieldSchema(name:value, type:string, comment:default), ] -PREHOOK: query: ANALYZE TABLE ss COMPUTE STATISTICS -PREHOOK: type: QUERY -PREHOOK: Input: default@ss -PREHOOK: Output: default@ss -POSTHOOK: query: ANALYZE TABLE ss COMPUTE STATISTICS -POSTHOOK: type: QUERY -POSTHOOK: Input: default@ss -POSTHOOK: Output: default@ss -PREHOOK: query: ANALYZE TABLE ss COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3 -PREHOOK: type: QUERY -PREHOOK: Input: default@ss -#### A masked pattern was here #### -POSTHOOK: query: ANALYZE TABLE ss COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@ss -#### A masked pattern was here #### -PREHOOK: query: ANALYZE TABLE sr COMPUTE STATISTICS -PREHOOK: type: QUERY -PREHOOK: Input: default@sr -PREHOOK: Output: default@sr -POSTHOOK: query: ANALYZE TABLE sr COMPUTE STATISTICS -POSTHOOK: type: QUERY -POSTHOOK: Input: default@sr -POSTHOOK: Output: default@sr -PREHOOK: query: ANALYZE TABLE sr COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3 -PREHOOK: type: QUERY -PREHOOK: Input: default@sr -#### A masked pattern was here #### -POSTHOOK: query: ANALYZE TABLE sr COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@sr -#### A masked pattern was here #### -PREHOOK: query: ANALYZE TABLE cs COMPUTE STATISTICS -PREHOOK: type: QUERY -PREHOOK: Input: default@cs -PREHOOK: Output: default@cs -POSTHOOK: query: ANALYZE TABLE cs COMPUTE STATISTICS -POSTHOOK: type: QUERY -POSTHOOK: Input: default@cs -POSTHOOK: Output: default@cs -PREHOOK: query: ANALYZE TABLE cs COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3 -PREHOOK: type: QUERY -PREHOOK: Input: default@cs -#### A masked pattern was here #### -POSTHOOK: query: ANALYZE TABLE cs COMPUTE STATISTICS FOR COLUMNS k1,v1,k2,v2,k3,v3 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@cs -#### A masked pattern was here #### -PREHOOK: query: SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -#### A masked pattern was here #### -POSTHOOK: query: SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -#### A masked pattern was here #### -PREHOOK: query: explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -PREHOOK: type: QUERY -POSTHOOK: query: explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -POSTHOOK: type: QUERY -Plan optimized by CBO. - -Vertex dependency in root stage -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE) -Reducer 3 <- Map 5 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) - -Stage-0 - Fetch Operator - limit:-1 - Stage-1 - Reducer 3 - File Output Operator [FS_16] - Select Operator [SEL_15] (rows=141/85 width=268) - Output:["_col0","_col1","_col2"] - Merge Join Operator [MERGEJOIN_26] (rows=141/85 width=268) - Conds:RS_12._col3=RS_13._col0(Inner),Output:["_col0","_col3","_col6"] - <-Map 5 [SIMPLE_EDGE] - SHUFFLE [RS_13] - PartitionCols:_col0 - Select Operator [SEL_8] (rows=500/500 width=178) - Output:["_col0","_col1"] - Filter Operator [FIL_24] (rows=500/500 width=178) - predicate:key is not null - TableScan [TS_6] (rows=500/500 width=178) - default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_12] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_25] (rows=58/41 width=177) - Conds:RS_9._col0=RS_10._col1(Inner),Output:["_col0","_col3"] - <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_9] - PartitionCols:_col0 - Select Operator [SEL_2] (rows=500/500 width=369) - Output:["_col0"] - Filter Operator [FIL_22] (rows=500/500 width=91) - predicate:value is not null - TableScan [TS_0] (rows=500/500 width=91) - default@srcpart,z,Tbl:COMPLETE,Col:COMPLETE,Output:["value"] - <-Map 4 [SIMPLE_EDGE] - SHUFFLE [RS_10] - PartitionCols:_col1 - Select Operator [SEL_5] (rows=25/25 width=175) - Output:["_col0","_col1"] - Filter Operator [FIL_23] (rows=25/25 width=175) - predicate:(key is not null and value is not null) - TableScan [TS_3] (rows=25/25 width=175) - default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - -PREHOOK: query: select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100 -PREHOOK: type: QUERY -PREHOOK: Input: default@cs -PREHOOK: Input: default@sr -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -PREHOOK: Input: default@ss -#### A masked pattern was here #### -POSTHOOK: query: select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@cs -POSTHOOK: Input: default@sr -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -POSTHOOK: Input: default@ss -#### A masked pattern was here #### -PREHOOK: query: explain analyze -select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100 -PREHOOK: type: QUERY -POSTHOOK: query: explain analyze -select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100 -POSTHOOK: type: QUERY -Plan optimized by CBO. - -Vertex dependency in root stage -Reducer 10 <- Reducer 9 (SIMPLE_EDGE) -Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE) -Reducer 3 <- Map 12 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE) -Reducer 4 <- Map 13 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE) -Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE) -Reducer 6 <- Map 15 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE) -Reducer 7 <- Map 16 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE) -Reducer 8 <- Map 17 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE) -Reducer 9 <- Reducer 8 (SIMPLE_EDGE) - -Stage-0 - Fetch Operator - limit:100 - Stage-1 - Reducer 10 - File Output Operator [FS_53] - Limit [LIM_52] (rows=100/0 width=18) - Number of rows:100 - Select Operator [SEL_51] (rows=550/0 width=18) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 9 [SIMPLE_EDGE] - SHUFFLE [RS_50] - Group By Operator [GBY_48] (rows=550/0 width=18) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Reducer 8 [SIMPLE_EDGE] - SHUFFLE [RS_47] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_46] (rows=1100/0 width=18) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(_col1)","count(_col9)","count(_col15)"],keys:_col0, _col8, _col14 - Select Operator [SEL_45] (rows=1100/0 width=18) - Output:["_col0","_col8","_col14","_col1","_col9","_col15"] - Merge Join Operator [MERGEJOIN_103] (rows=1100/0 width=18) - Conds:RS_42._col3=RS_43._col1(Inner),Output:["_col0","_col1","_col8","_col9","_col14","_col15"] - <-Map 17 [SIMPLE_EDGE] - SHUFFLE [RS_43] - PartitionCols:_col1 - Select Operator [SEL_23] (rows=1000/0 width=18) - Output:["_col1"] - Filter Operator [FIL_96] (rows=1000/0 width=18) - predicate:((key = 'srcpartkey') and value is not null) - TableScan [TS_21] (rows=2000/2000 width=18) - default@srcpart,srcpart,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Reducer 7 [SIMPLE_EDGE] - SHUFFLE [RS_42] - PartitionCols:_col3 - Merge Join Operator [MERGEJOIN_102] (rows=129/0 width=625) - Conds:RS_39._col1=RS_40._col1(Inner),Output:["_col0","_col1","_col3","_col8","_col9","_col14","_col15"] - <-Map 16 [SIMPLE_EDGE] - SHUFFLE [RS_40] - PartitionCols:_col1 - Select Operator [SEL_20] (rows=2/0 width=180) - Output:["_col1"] - Filter Operator [FIL_95] (rows=2/0 width=175) - predicate:((key = 'src1key') and value is not null) - TableScan [TS_18] (rows=25/25 width=175) - default@src1,src1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 6 [SIMPLE_EDGE] - SHUFFLE [RS_39] - PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_101] (rows=129/0 width=625) - Conds:RS_36._col12=RS_37._col0(Inner),Output:["_col0","_col1","_col3","_col8","_col9","_col14","_col15"] - <-Map 15 [SIMPLE_EDGE] - SHUFFLE [RS_37] - PartitionCols:_col0 - Select Operator [SEL_17] (rows=500/0 width=178) - Output:["_col0"] - Filter Operator [FIL_94] (rows=500/0 width=178) - predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) - TableScan [TS_15] (rows=500/500 width=178) - default@src,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 5 [SIMPLE_EDGE] - SHUFFLE [RS_36] - PartitionCols:_col12 - Merge Join Operator [MERGEJOIN_100] (rows=53/0 width=712) - Conds:RS_33._col6=RS_34._col0(Inner),Output:["_col0","_col1","_col3","_col8","_col9","_col12","_col14","_col15"] - <-Map 14 [SIMPLE_EDGE] - SHUFFLE [RS_34] - PartitionCols:_col0 - Select Operator [SEL_14] (rows=500/0 width=178) - Output:["_col0"] - Filter Operator [FIL_93] (rows=500/0 width=178) - predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) - TableScan [TS_12] (rows=500/500 width=178) - default@src,d2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_33] - PartitionCols:_col6 - Merge Join Operator [MERGEJOIN_99] (rows=22/0 width=799) - Conds:RS_30._col0=RS_31._col0(Inner),Output:["_col0","_col1","_col3","_col6","_col8","_col9","_col12","_col14","_col15"] - <-Map 13 [SIMPLE_EDGE] - SHUFFLE [RS_31] - PartitionCols:_col0 - Select Operator [SEL_11] (rows=2/0 width=178) - Output:["_col0"] - Filter Operator [FIL_92] (rows=2/0 width=178) - predicate:((value = 'd1value') and key is not null) - TableScan [TS_9] (rows=500/500 width=178) - default@src,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_30] - PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_98] (rows=22/0 width=799) - Conds:RS_27._col9, _col11=RS_28._col1, _col3(Inner),Output:["_col0","_col1","_col3","_col6","_col8","_col9","_col12","_col14","_col15"] - <-Map 12 [SIMPLE_EDGE] - SHUFFLE [RS_28] - PartitionCols:_col1, _col3 - Select Operator [SEL_8] (rows=170/170 width=356) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_91] (rows=170/170 width=356) - predicate:(v2 is not null and v3 is not null and k1 is not null) - TableScan [TS_6] (rows=170/170 width=356) - default@cs,cs,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v2","k3","v3"] - <-Reducer 2 [SIMPLE_EDGE] - SHUFFLE [RS_27] - PartitionCols:_col9, _col11 - Merge Join Operator [MERGEJOIN_97] (rows=16/0 width=625) - Conds:RS_24._col2, _col4=RS_25._col2, _col4(Inner),Output:["_col0","_col1","_col3","_col6","_col8","_col9","_col11"] - <-Map 1 [SIMPLE_EDGE] - SHUFFLE [RS_24] - PartitionCols:_col2, _col4 - Select Operator [SEL_2] (rows=8/0 width=531) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_89] (rows=8/0 width=534) - predicate:((v3 = 'ssv3') and k2 is not null and k3 is not null and k1 is not null and v1 is not null and v2 is not null) - TableScan [TS_0] (rows=85/85 width=534) - default@ss,ss,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v1","k2","v2","k3","v3"] - <-Map 11 [SIMPLE_EDGE] - SHUFFLE [RS_25] - PartitionCols:_col2, _col4 - Select Operator [SEL_5] (rows=8/0 width=531) - Output:["_col0","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_90] (rows=8/0 width=534) - predicate:((v1 = 'srv1') and k2 is not null and k3 is not null and v2 is not null and v3 is not null and k1 is not null) - TableScan [TS_3] (rows=85/85 width=534) - default@sr,sr,Tbl:COMPLETE,Col:COMPLETE,Output:["k1","v1","k2","v2","k3","v3"] - PREHOOK: query: SELECT x.key, z.value, y.value FROM src1 x JOIN src y ON (x.key = y.key) JOIN (select * from src1 union select * from src)z ON (x.value = z.value) @@ -1055,862 +537,45 @@ Stage-0 TableScan [TS_3] (rows=500/500 width=178) Output:["key","value"] -PREHOOK: query: SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +PREHOOK: query: CREATE TABLE srcbucket_mapjoin(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@srcbucket_mapjoin +POSTHOOK: query: CREATE TABLE srcbucket_mapjoin(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@srcbucket_mapjoin +PREHOOK: query: CREATE TABLE tab_part (key int, value string) PARTITIONED BY(ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@tab_part +POSTHOOK: query: CREATE TABLE tab_part (key int, value string) PARTITIONED BY(ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@tab_part +PREHOOK: query: CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@srcbucket_mapjoin_part +POSTHOOK: query: CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@srcbucket_mapjoin_part +PREHOOK: query: load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin partition(ds='2008-04-08') +PREHOOK: type: LOAD #### A masked pattern was here #### -POSTHOOK: query: SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +PREHOOK: Output: default@srcbucket_mapjoin +POSTHOOK: query: load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin partition(ds='2008-04-08') +POSTHOOK: type: LOAD #### A masked pattern was here #### -PREHOOK: query: explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -PREHOOK: type: QUERY -POSTHOOK: query: explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN srcpart z ON (x.value = z.value and z.ds='2008-04-08' and z.hr=11) -POSTHOOK: type: QUERY -Plan optimized by CBO. - -Vertex dependency in root stage -Map 1 <- Map 2 (BROADCAST_EDGE), Map 3 (BROADCAST_EDGE) - -Stage-0 - Fetch Operator - limit:-1 - Stage-1 - Map 1 - File Output Operator [FS_16] - Select Operator [SEL_15] (rows=605/85 width=10) - Output:["_col0","_col1","_col2"] - Map Join Operator [MAPJOIN_26] (rows=605/85 width=10) - Conds:MAPJOIN_25._col3=RS_13._col0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col3","_col6"] - <-Map 3 [BROADCAST_EDGE] - BROADCAST [RS_13] - PartitionCols:_col0 - Select Operator [SEL_8] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_24] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_6] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Map Join Operator [MAPJOIN_25] (rows=550/41 width=10) - Conds:SEL_2._col0=RS_10._col1(Inner),HybridGraceHashJoin:true,Output:["_col0","_col3"] - <-Map 2 [BROADCAST_EDGE] - BROADCAST [RS_10] - PartitionCols:_col1 - Select Operator [SEL_5] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_23] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_3] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_2] (rows=500/500 width=10) - Output:["_col0"] - Filter Operator [FIL_22] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_0] (rows=500/500 width=10) - default@srcpart,z,Tbl:COMPLETE,Col:NONE,Output:["value"] - -PREHOOK: query: select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100 -PREHOOK: type: QUERY -PREHOOK: Input: default@cs -PREHOOK: Input: default@sr -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -PREHOOK: Input: default@ss +POSTHOOK: Output: default@srcbucket_mapjoin +POSTHOOK: Output: default@srcbucket_mapjoin@ds=2008-04-08 +PREHOOK: query: load data local inpath '../../data/files/srcbucket22.txt' INTO TABLE srcbucket_mapjoin partition(ds='2008-04-08') +PREHOOK: type: LOAD #### A masked pattern was here #### -POSTHOOK: query: select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@cs -POSTHOOK: Input: default@sr -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -POSTHOOK: Input: default@ss -#### A masked pattern was here #### -PREHOOK: query: explain analyze -select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100 -PREHOOK: type: QUERY -POSTHOOK: query: explain analyze -select -ss.k1,sr.k2,cs.k3,count(ss.v1),count(sr.v2),count(cs.v3) -FROM -ss,sr,cs,src d1,src d2,src d3,src1,srcpart -where - ss.k1 = d1.key -and sr.k1 = d2.key -and cs.k1 = d3.key -and ss.k2 = sr.k2 -and ss.k3 = sr.k3 -and ss.v1 = src1.value -and ss.v2 = srcpart.value -and sr.v2 = cs.v2 -and sr.v3 = cs.v3 -and ss.v3='ssv3' -and sr.v1='srv1' -and src1.key = 'src1key' -and srcpart.key = 'srcpartkey' -and d1.value = 'd1value' -and d2.value in ('2000Q1','2000Q2','2000Q3') -and d3.value in ('2000Q1','2000Q2','2000Q3') -group by -ss.k1,sr.k2,cs.k3 -order by -ss.k1,sr.k2,cs.k3 -limit 100 -POSTHOOK: type: QUERY -Plan optimized by CBO. - -Vertex dependency in root stage -Map 10 <- Map 9 (BROADCAST_EDGE) -Map 2 <- Map 1 (BROADCAST_EDGE) -Map 3 <- Map 10 (BROADCAST_EDGE), Map 2 (BROADCAST_EDGE), Map 6 (BROADCAST_EDGE), Map 7 (BROADCAST_EDGE), Map 8 (BROADCAST_EDGE) -Reducer 4 <- Map 3 (SIMPLE_EDGE) -Reducer 5 <- Reducer 4 (SIMPLE_EDGE) - -Stage-0 - Fetch Operator - limit:100 - Stage-1 - Reducer 5 - File Output Operator [FS_55] - Limit [LIM_54] (rows=100/0 width=10) - Number of rows:100 - Select Operator [SEL_53] (rows=805/0 width=10) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"] - <-Reducer 4 [SIMPLE_EDGE] - SHUFFLE [RS_52] - Group By Operator [GBY_50] (rows=805/0 width=10) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2 - <-Map 3 [SIMPLE_EDGE] - SHUFFLE [RS_49] - PartitionCols:_col0, _col1, _col2 - Group By Operator [GBY_48] (rows=1610/0 width=10) - Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(_col13)","count(_col21)","count(_col3)"],keys:_col12, _col20, _col2 - Select Operator [SEL_47] (rows=1610/0 width=10) - Output:["_col12","_col20","_col2","_col13","_col21","_col3"] - Map Join Operator [MAPJOIN_97] (rows=1610/0 width=10) - Conds:RS_44._col1, _col3=SEL_40._col15, _col17(Inner),HybridGraceHashJoin:true,Output:["_col2","_col3","_col12","_col13","_col20","_col21"] - <-Map 2 [BROADCAST_EDGE] - BROADCAST [RS_44] - PartitionCols:_col1, _col3 - Map Join Operator [MAPJOIN_91] (rows=275/0 width=10) - Conds:RS_41._col0=SEL_5._col0(Inner),HybridGraceHashJoin:true,Output:["_col1","_col2","_col3"] - <-Map 1 [BROADCAST_EDGE] - BROADCAST [RS_41] - PartitionCols:_col0 - Select Operator [SEL_2] (rows=170/170 width=34) - Output:["_col0","_col1","_col2","_col3"] - Filter Operator [FIL_83] (rows=170/170 width=34) - predicate:(v2 is not null and v3 is not null and k1 is not null) - TableScan [TS_0] (rows=170/170 width=34) - default@cs,cs,Tbl:COMPLETE,Col:NONE,Output:["k1","v2","k3","v3"] - <-Select Operator [SEL_5] (rows=250/0 width=10) - Output:["_col0"] - Filter Operator [FIL_84] (rows=250/0 width=10) - predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) - TableScan [TS_3] (rows=500/500 width=10) - default@src,d3,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_40] (rows=1464/0 width=10) - Output:["_col14","_col15","_col17","_col6","_col7"] - Map Join Operator [MAPJOIN_96] (rows=1464/0 width=10) - Conds:MAPJOIN_94._col6, _col4=RS_38._col4, _col2(Inner),HybridGraceHashJoin:true,Output:["_col2","_col3","_col14","_col15","_col17"] - <-Map 10 [BROADCAST_EDGE] - BROADCAST [RS_38] - PartitionCols:_col4, _col2 - Map Join Operator [MAPJOIN_95] (rows=275/0 width=10) - Conds:RS_24._col0=SEL_23._col0(Inner),HybridGraceHashJoin:true,Output:["_col2","_col3","_col4","_col5"] - <-Map 9 [BROADCAST_EDGE] - BROADCAST [RS_24] - PartitionCols:_col0 - Select Operator [SEL_20] (rows=42/0 width=34) - Output:["_col0","_col2","_col3","_col4","_col5"] - Filter Operator [FIL_89] (rows=42/0 width=34) - predicate:((v1 = 'srv1') and k2 is not null and k3 is not null and v2 is not null and v3 is not null and k1 is not null) - TableScan [TS_18] (rows=85/85 width=34) - default@sr,sr,Tbl:COMPLETE,Col:NONE,Output:["k1","v1","k2","v2","k3","v3"] - <-Select Operator [SEL_23] (rows=250/0 width=10) - Output:["_col0"] - Filter Operator [FIL_90] (rows=250/0 width=10) - predicate:((value) IN ('2000Q1', '2000Q2', '2000Q3') and key is not null) - TableScan [TS_21] (rows=500/500 width=10) - default@src,d2,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Map Join Operator [MAPJOIN_94] (rows=1331/0 width=10) - Conds:MAPJOIN_93._col3=RS_35._col1(Inner),HybridGraceHashJoin:true,Output:["_col2","_col3","_col4","_col6"] - <-Map 8 [BROADCAST_EDGE] - BROADCAST [RS_35] - PartitionCols:_col1 - Select Operator [SEL_17] (rows=12/0 width=7) - Output:["_col1"] - Filter Operator [FIL_88] (rows=12/0 width=7) - predicate:((key = 'src1key') and value is not null) - TableScan [TS_15] (rows=25/25 width=7) - default@src1,src1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Map Join Operator [MAPJOIN_93] (rows=1210/0 width=10) - Conds:MAPJOIN_92._col2=RS_32._col0(Inner),HybridGraceHashJoin:true,Output:["_col2","_col3","_col4","_col6"] - <-Map 7 [BROADCAST_EDGE] - BROADCAST [RS_32] - PartitionCols:_col0 - Select Operator [SEL_14] (rows=250/0 width=10) - Output:["_col0"] - Filter Operator [FIL_87] (rows=250/0 width=10) - predicate:((value = 'd1value') and key is not null) - TableScan [TS_12] (rows=500/500 width=10) - default@src,d1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Map Join Operator [MAPJOIN_92] (rows=1100/0 width=10) - Conds:SEL_8._col1=RS_29._col3(Inner),HybridGraceHashJoin:true,Output:["_col2","_col3","_col4","_col6"] - <-Map 6 [BROADCAST_EDGE] - BROADCAST [RS_29] - PartitionCols:_col3 - Select Operator [SEL_11] (rows=42/0 width=34) - Output:["_col0","_col1","_col2","_col3","_col4"] - Filter Operator [FIL_86] (rows=42/0 width=34) - predicate:((v3 = 'ssv3') and k2 is not null and k3 is not null and k1 is not null and v1 is not null and v2 is not null) - TableScan [TS_9] (rows=85/85 width=34) - default@ss,ss,Tbl:COMPLETE,Col:NONE,Output:["k1","v1","k2","v2","k3","v3"] - <-Select Operator [SEL_8] (rows=1000/0 width=10) - Output:["_col1"] - Filter Operator [FIL_85] (rows=1000/0 width=10) - predicate:((key = 'srcpartkey') and value is not null) - TableScan [TS_6] (rows=2000/2000 width=10) - default@srcpart,srcpart,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - -PREHOOK: query: SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -#### A masked pattern was here #### -POSTHOOK: query: SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -#### A masked pattern was here #### -PREHOOK: query: explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -PREHOOK: type: QUERY -POSTHOOK: query: explain analyze -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, z.value, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -POSTHOOK: type: QUERY -Plan optimized by CBO. - -Vertex dependency in root stage -Map 1 <- Union 2 (CONTAINS) -Map 12 <- Union 10 (CONTAINS) -Map 6 <- Union 2 (CONTAINS) -Map 9 <- Union 10 (CONTAINS) -Reducer 11 <- Map 13 (BROADCAST_EDGE), Map 14 (BROADCAST_EDGE), Union 10 (SIMPLE_EDGE), Union 4 (CONTAINS) -Reducer 3 <- Map 7 (BROADCAST_EDGE), Map 8 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS) -Reducer 5 <- Union 4 (SIMPLE_EDGE) - -Stage-0 - Fetch Operator - limit:-1 - Stage-1 - Reducer 5 - File Output Operator [FS_59] - Group By Operator [GBY_57] (rows=550/15 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 4 [SIMPLE_EDGE] - <-Reducer 11 [CONTAINS] - Reduce Output Operator [RS_56] - PartitionCols:_col0, _col1 - Group By Operator [GBY_55] (rows=1100/30 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_51] (rows=550/61 width=10) - Output:["_col0","_col1"] - Map Join Operator [MAPJOIN_85] (rows=550/61 width=10) - Conds:MAPJOIN_84._col2=RS_49._col0(Inner),HybridGraceHashJoin:true,Output:["_col1","_col2"] - <-Map 14 [BROADCAST_EDGE] - BROADCAST [RS_49] - PartitionCols:_col0 - Select Operator [SEL_44] (rows=500/500 width=10) - Output:["_col0"] - Filter Operator [FIL_81] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_42] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Map Join Operator [MAPJOIN_84] (rows=288/52 width=10) - Conds:SEL_38._col1=RS_46._col1(Inner),HybridGraceHashJoin:true,Output:["_col1","_col2"] - <-Map 13 [BROADCAST_EDGE] - BROADCAST [RS_46] - PartitionCols:_col1 - Select Operator [SEL_41] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_80] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_39] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_38] (rows=262/319 width=10) - Output:["_col1"] - Group By Operator [GBY_37] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 10 [SIMPLE_EDGE] - <-Map 12 [CONTAINS] - Reduce Output Operator [RS_36] - PartitionCols:_col0, _col1 - Group By Operator [GBY_35] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_31] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_79] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_29] (rows=500/500 width=10) - Output:["key","value"] - <-Map 9 [CONTAINS] - Reduce Output Operator [RS_36] - PartitionCols:_col0, _col1 - Group By Operator [GBY_35] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_28] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_78] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_26] (rows=25/25 width=7) - Output:["key","value"] - <-Reducer 3 [CONTAINS] - Reduce Output Operator [RS_56] - PartitionCols:_col0, _col1 - Group By Operator [GBY_55] (rows=1100/30 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_25] (rows=550/61 width=10) - Output:["_col0","_col1"] - Map Join Operator [MAPJOIN_83] (rows=550/61 width=10) - Conds:MAPJOIN_82._col2=RS_23._col0(Inner),HybridGraceHashJoin:true,Output:["_col1","_col2"] - <-Map 8 [BROADCAST_EDGE] - BROADCAST [RS_23] - PartitionCols:_col0 - Select Operator [SEL_18] (rows=500/500 width=10) - Output:["_col0"] - Filter Operator [FIL_77] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_16] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Map Join Operator [MAPJOIN_82] (rows=288/52 width=10) - Conds:SEL_12._col1=RS_20._col1(Inner),HybridGraceHashJoin:true,Output:["_col1","_col2"] - <-Map 7 [BROADCAST_EDGE] - BROADCAST [RS_20] - PartitionCols:_col1 - Select Operator [SEL_15] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_76] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_13] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_12] (rows=262/319 width=10) - Output:["_col1"] - Group By Operator [GBY_11] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 2 [SIMPLE_EDGE] - <-Map 1 [CONTAINS] - Reduce Output Operator [RS_10] - PartitionCols:_col0, _col1 - Group By Operator [GBY_9] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_2] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_74] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_0] (rows=25/25 width=7) - Output:["key","value"] - <-Map 6 [CONTAINS] - Reduce Output Operator [RS_10] - PartitionCols:_col0, _col1 - Group By Operator [GBY_9] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_5] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_75] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_3] (rows=500/500 width=10) - Output:["key","value"] - -PREHOOK: query: SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -#### A masked pattern was here #### -POSTHOOK: query: SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -#### A masked pattern was here #### -PREHOOK: query: explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) -PREHOOK: type: QUERY -POSTHOOK: query: explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) -POSTHOOK: type: QUERY -Plan optimized by CBO. - -Vertex dependency in root stage -Map 1 <- Union 2 (CONTAINS) -Map 11 <- Union 12 (CONTAINS) -Map 16 <- Union 12 (CONTAINS) -Map 17 <- Union 14 (CONTAINS) -Map 20 <- Union 21 (CONTAINS) -Map 27 <- Union 21 (CONTAINS) -Map 28 <- Union 23 (CONTAINS) -Map 29 <- Union 25 (CONTAINS) -Map 8 <- Union 2 (CONTAINS) -Reducer 13 <- Union 12 (SIMPLE_EDGE), Union 14 (CONTAINS) -Reducer 15 <- Map 18 (BROADCAST_EDGE), Map 19 (BROADCAST_EDGE), Union 14 (SIMPLE_EDGE), Union 4 (CONTAINS) -Reducer 22 <- Union 21 (SIMPLE_EDGE), Union 23 (CONTAINS) -Reducer 24 <- Union 23 (SIMPLE_EDGE), Union 25 (CONTAINS) -Reducer 26 <- Map 30 (BROADCAST_EDGE), Map 31 (BROADCAST_EDGE), Union 25 (SIMPLE_EDGE), Union 6 (CONTAINS) -Reducer 3 <- Map 10 (BROADCAST_EDGE), Map 9 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS) -Reducer 5 <- Union 4 (SIMPLE_EDGE), Union 6 (CONTAINS) -Reducer 7 <- Union 6 (SIMPLE_EDGE) - -Stage-0 - Fetch Operator - limit:-1 - Stage-1 - Reducer 7 - File Output Operator [FS_122] - Group By Operator [GBY_120] (rows=550/15 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 6 [SIMPLE_EDGE] - <-Reducer 26 [CONTAINS] - Reduce Output Operator [RS_119] - PartitionCols:_col0, _col1 - Group By Operator [GBY_118] (rows=1100/30 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_114] (rows=550/61 width=10) - Output:["_col0","_col1"] - Map Join Operator [MAPJOIN_170] (rows=550/61 width=10) - Conds:MAPJOIN_169._col2=RS_112._col0(Inner),HybridGraceHashJoin:true,Output:["_col2","_col5"] - <-Map 31 [BROADCAST_EDGE] - BROADCAST [RS_112] - PartitionCols:_col0 - Select Operator [SEL_107] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_164] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_105] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Map Join Operator [MAPJOIN_169] (rows=484/52 width=10) - Conds:SEL_101._col1=RS_109._col1(Inner),HybridGraceHashJoin:true,Output:["_col2"] - <-Map 30 [BROADCAST_EDGE] - BROADCAST [RS_109] - PartitionCols:_col1 - Select Operator [SEL_104] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_163] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_102] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_101] (rows=440/319 width=10) - Output:["_col1"] - Group By Operator [GBY_100] (rows=440/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 25 [SIMPLE_EDGE] - <-Map 29 [CONTAINS] - Reduce Output Operator [RS_99] - PartitionCols:_col0, _col1 - Group By Operator [GBY_98] (rows=881/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_94] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_162] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_92] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 24 [CONTAINS] - Reduce Output Operator [RS_99] - PartitionCols:_col0, _col1 - Group By Operator [GBY_98] (rows=881/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_91] (rows=381/319 width=10) - Output:["_col0","_col1"] - Group By Operator [GBY_90] (rows=381/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 23 [SIMPLE_EDGE] - <-Map 28 [CONTAINS] - Reduce Output Operator [RS_89] - PartitionCols:_col0, _col1 - Group By Operator [GBY_88] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_84] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_161] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_82] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 22 [CONTAINS] - Reduce Output Operator [RS_89] - PartitionCols:_col0, _col1 - Group By Operator [GBY_88] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_81] (rows=262/319 width=10) - Output:["_col0","_col1"] - Group By Operator [GBY_80] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 21 [SIMPLE_EDGE] - <-Map 20 [CONTAINS] - Reduce Output Operator [RS_79] - PartitionCols:_col0, _col1 - Group By Operator [GBY_78] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_71] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_159] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_69] (rows=25/25 width=7) - Output:["key","value"] - <-Map 27 [CONTAINS] - Reduce Output Operator [RS_79] - PartitionCols:_col0, _col1 - Group By Operator [GBY_78] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_74] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_160] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_72] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 5 [CONTAINS] - Reduce Output Operator [RS_119] - PartitionCols:_col0, _col1 - Group By Operator [GBY_118] (rows=1100/30 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Group By Operator [GBY_67] (rows=550/15 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 4 [SIMPLE_EDGE] - <-Reducer 15 [CONTAINS] - Reduce Output Operator [RS_66] - PartitionCols:_col0, _col1 - Group By Operator [GBY_65] (rows=1100/30 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_61] (rows=550/61 width=10) - Output:["_col0","_col1"] - Map Join Operator [MAPJOIN_168] (rows=550/61 width=10) - Conds:MAPJOIN_167._col2=RS_59._col0(Inner),HybridGraceHashJoin:true,Output:["_col2","_col5"] - <-Map 19 [BROADCAST_EDGE] - BROADCAST [RS_59] - PartitionCols:_col0 - Select Operator [SEL_54] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_158] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_52] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Map Join Operator [MAPJOIN_167] (rows=419/52 width=10) - Conds:SEL_48._col1=RS_56._col1(Inner),HybridGraceHashJoin:true,Output:["_col2"] - <-Map 18 [BROADCAST_EDGE] - BROADCAST [RS_56] - PartitionCols:_col1 - Select Operator [SEL_51] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_157] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_49] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_48] (rows=381/319 width=10) - Output:["_col1"] - Group By Operator [GBY_47] (rows=381/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 14 [SIMPLE_EDGE] - <-Map 17 [CONTAINS] - Reduce Output Operator [RS_46] - PartitionCols:_col0, _col1 - Group By Operator [GBY_45] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_41] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_156] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_39] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 13 [CONTAINS] - Reduce Output Operator [RS_46] - PartitionCols:_col0, _col1 - Group By Operator [GBY_45] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_38] (rows=262/319 width=10) - Output:["_col0","_col1"] - Group By Operator [GBY_37] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 12 [SIMPLE_EDGE] - <-Map 11 [CONTAINS] - Reduce Output Operator [RS_36] - PartitionCols:_col0, _col1 - Group By Operator [GBY_35] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_28] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_154] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_26] (rows=25/25 width=7) - Output:["key","value"] - <-Map 16 [CONTAINS] - Reduce Output Operator [RS_36] - PartitionCols:_col0, _col1 - Group By Operator [GBY_35] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_31] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_155] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_29] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 3 [CONTAINS] - Reduce Output Operator [RS_66] - PartitionCols:_col0, _col1 - Group By Operator [GBY_65] (rows=1100/30 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_25] (rows=550/61 width=10) - Output:["_col0","_col1"] - Map Join Operator [MAPJOIN_166] (rows=550/61 width=10) - Conds:MAPJOIN_165._col2=RS_23._col0(Inner),HybridGraceHashJoin:true,Output:["_col2","_col5"] - <-Map 10 [BROADCAST_EDGE] - BROADCAST [RS_23] - PartitionCols:_col0 - Select Operator [SEL_18] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_153] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_16] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Map Join Operator [MAPJOIN_165] (rows=288/52 width=10) - Conds:SEL_12._col1=RS_20._col1(Inner),HybridGraceHashJoin:true,Output:["_col2"] - <-Map 9 [BROADCAST_EDGE] - BROADCAST [RS_20] - PartitionCols:_col1 - Select Operator [SEL_15] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_152] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_13] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_12] (rows=262/319 width=10) - Output:["_col1"] - Group By Operator [GBY_11] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 2 [SIMPLE_EDGE] - <-Map 1 [CONTAINS] - Reduce Output Operator [RS_10] - PartitionCols:_col0, _col1 - Group By Operator [GBY_9] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_2] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_150] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_0] (rows=25/25 width=7) - Output:["key","value"] - <-Map 8 [CONTAINS] - Reduce Output Operator [RS_10] - PartitionCols:_col0, _col1 - Group By Operator [GBY_9] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_5] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_151] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_3] (rows=500/500 width=10) - Output:["key","value"] - -PREHOOK: query: CREATE TABLE srcbucket_mapjoin(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:default -PREHOOK: Output: default@srcbucket_mapjoin -POSTHOOK: query: CREATE TABLE srcbucket_mapjoin(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:default -POSTHOOK: Output: default@srcbucket_mapjoin -PREHOOK: query: CREATE TABLE tab_part (key int, value string) PARTITIONED BY(ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:default -PREHOOK: Output: default@tab_part -POSTHOOK: query: CREATE TABLE tab_part (key int, value string) PARTITIONED BY(ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:default -POSTHOOK: Output: default@tab_part -PREHOOK: query: CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE -PREHOOK: type: CREATETABLE -PREHOOK: Output: database:default -PREHOOK: Output: default@srcbucket_mapjoin_part -POSTHOOK: query: CREATE TABLE srcbucket_mapjoin_part (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: database:default -POSTHOOK: Output: default@srcbucket_mapjoin_part -PREHOOK: query: load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin partition(ds='2008-04-08') -PREHOOK: type: LOAD -#### A masked pattern was here #### -PREHOOK: Output: default@srcbucket_mapjoin -POSTHOOK: query: load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin partition(ds='2008-04-08') -POSTHOOK: type: LOAD -#### A masked pattern was here #### -POSTHOOK: Output: default@srcbucket_mapjoin -POSTHOOK: Output: default@srcbucket_mapjoin@ds=2008-04-08 -PREHOOK: query: load data local inpath '../../data/files/srcbucket22.txt' INTO TABLE srcbucket_mapjoin partition(ds='2008-04-08') -PREHOOK: type: LOAD -#### A masked pattern was here #### -PREHOOK: Output: default@srcbucket_mapjoin@ds=2008-04-08 -POSTHOOK: query: load data local inpath '../../data/files/srcbucket22.txt' INTO TABLE srcbucket_mapjoin partition(ds='2008-04-08') -POSTHOOK: type: LOAD +PREHOOK: Output: default@srcbucket_mapjoin@ds=2008-04-08 +POSTHOOK: query: load data local inpath '../../data/files/srcbucket22.txt' INTO TABLE srcbucket_mapjoin partition(ds='2008-04-08') +POSTHOOK: type: LOAD #### A masked pattern was here #### POSTHOOK: Output: default@srcbucket_mapjoin@ds=2008-04-08 PREHOOK: query: load data local inpath '../../data/files/srcbucket20.txt' INTO TABLE srcbucket_mapjoin_part partition(ds='2008-04-08') @@ -2028,19 +693,19 @@ Stage-0 Stage-1 Map 1 File Output Operator [FS_10] - Merge Join Operator [MERGEJOIN_15] (rows=266/480 width=10) + Merge Join Operator [MERGEJOIN_15] (rows=266/480 width=18) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] - <-Select Operator [SEL_5] (rows=242/242 width=10) + <-Select Operator [SEL_5] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_14] (rows=242/242 width=10) + Filter Operator [FIL_14] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=10) + TableScan [TS_3] (rows=242/242 width=18) default@tab,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=242/242 width=10) + <-Select Operator [SEL_2] (rows=242/242 width=18) Output:["_col0","_col1"] - Filter Operator [FIL_13] (rows=242/242 width=10) + Filter Operator [FIL_13] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_0] (rows=242/242 width=10) + TableScan [TS_0] (rows=242/242 width=18) default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] PREHOOK: query: select s1.key as key, s1.value as value from tab s1 join tab s3 on s1.key=s3.key join tab s2 on s1.value=s2.value @@ -2070,33 +735,33 @@ Stage-0 Stage-1 Reducer 2 File Output Operator [FS_16] - Merge Join Operator [MERGEJOIN_27] (rows=292/1166 width=10) + Merge Join Operator [MERGEJOIN_27] (rows=292/1166 width=18) Conds:RS_12._col1=RS_13._col1(Inner),Output:["_col0","_col1"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_12] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_25] (rows=266/480 width=10) + Merge Join Operator [MERGEJOIN_25] (rows=266/480 width=18) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] - <-Select Operator [SEL_5] (rows=242/242 width=10) + <-Select Operator [SEL_5] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_23] (rows=242/242 width=10) + Filter Operator [FIL_23] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=10) + TableScan [TS_3] (rows=242/242 width=18) default@tab,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=242/242 width=10) + <-Select Operator [SEL_2] (rows=242/242 width=18) Output:["_col0","_col1"] - Filter Operator [FIL_22] (rows=242/242 width=10) + Filter Operator [FIL_22] (rows=242/242 width=18) predicate:(key is not null and value is not null) - TableScan [TS_0] (rows=242/242 width=10) + TableScan [TS_0] (rows=242/242 width=18) default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] <-Map 4 [SIMPLE_EDGE] SHUFFLE [RS_13] PartitionCols:_col1 - Select Operator [SEL_8] (rows=242/242 width=10) + Select Operator [SEL_8] (rows=242/242 width=18) Output:["_col1"] - Filter Operator [FIL_24] (rows=242/242 width=10) + Filter Operator [FIL_24] (rows=242/242 width=18) predicate:value is not null - TableScan [TS_6] (rows=242/242 width=10) + TableScan [TS_6] (rows=242/242 width=18) default@tab,s2,Tbl:COMPLETE,Col:NONE,Output:["value"] PREHOOK: query: select s1.key as key, s1.value as value from tab s1 join tab2 s3 on s1.key=s3.key @@ -2127,19 +792,19 @@ Stage-0 Stage-1 Map 1 File Output Operator [FS_10] - Merge Join Operator [MERGEJOIN_15] (rows=266/480 width=10) + Merge Join Operator [MERGEJOIN_15] (rows=266/480 width=18) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] - <-Select Operator [SEL_5] (rows=242/242 width=10) + <-Select Operator [SEL_5] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_14] (rows=242/242 width=10) + Filter Operator [FIL_14] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=10) + TableScan [TS_3] (rows=242/242 width=18) default@tab2,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=242/242 width=10) + <-Select Operator [SEL_2] (rows=242/242 width=18) Output:["_col0","_col1"] - Filter Operator [FIL_13] (rows=242/242 width=10) + Filter Operator [FIL_13] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_0] (rows=242/242 width=10) + TableScan [TS_0] (rows=242/242 width=18) default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] PREHOOK: query: select s1.key as key, s1.value as value from tab s1 join tab2 s3 on s1.key=s3.key join tab2 s2 on s1.value=s2.value @@ -2173,33 +838,33 @@ Stage-0 Stage-1 Reducer 2 File Output Operator [FS_16] - Merge Join Operator [MERGEJOIN_27] (rows=292/1166 width=10) + Merge Join Operator [MERGEJOIN_27] (rows=292/1166 width=18) Conds:RS_12._col1=RS_13._col1(Inner),Output:["_col0","_col1"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_12] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_25] (rows=266/480 width=10) + Merge Join Operator [MERGEJOIN_25] (rows=266/480 width=18) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] - <-Select Operator [SEL_5] (rows=242/242 width=10) + <-Select Operator [SEL_5] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_23] (rows=242/242 width=10) + Filter Operator [FIL_23] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=10) + TableScan [TS_3] (rows=242/242 width=18) default@tab2,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=242/242 width=10) + <-Select Operator [SEL_2] (rows=242/242 width=18) Output:["_col0","_col1"] - Filter Operator [FIL_22] (rows=242/242 width=10) + Filter Operator [FIL_22] (rows=242/242 width=18) predicate:(key is not null and value is not null) - TableScan [TS_0] (rows=242/242 width=10) + TableScan [TS_0] (rows=242/242 width=18) default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] <-Map 4 [SIMPLE_EDGE] SHUFFLE [RS_13] PartitionCols:_col1 - Select Operator [SEL_8] (rows=242/242 width=10) + Select Operator [SEL_8] (rows=242/242 width=18) Output:["_col1"] - Filter Operator [FIL_24] (rows=242/242 width=10) + Filter Operator [FIL_24] (rows=242/242 width=18) predicate:value is not null - TableScan [TS_6] (rows=242/242 width=10) + TableScan [TS_6] (rows=242/242 width=18) default@tab2,s2,Tbl:COMPLETE,Col:NONE,Output:["value"] PREHOOK: query: select count(*) from (select s1.key as key, s1.value as value from tab s1 join tab s3 on s1.key=s3.key @@ -2254,43 +919,43 @@ Stage-0 SHUFFLE [RS_23] Group By Operator [GBY_22] (rows=1/1 width=8) Output:["_col0"],aggregations:["count()"] - Merge Join Operator [MERGEJOIN_39] (rows=558/1646 width=10) + Merge Join Operator [MERGEJOIN_39] (rows=558/1646 width=18) Conds:Union 2._col0=RS_19._col0(Inner) <-Map 7 [SIMPLE_EDGE] SHUFFLE [RS_19] PartitionCols:_col0 - Select Operator [SEL_17] (rows=500/500 width=10) + Select Operator [SEL_17] (rows=500/500 width=18) Output:["_col0"] - Filter Operator [FIL_36] (rows=500/500 width=10) + Filter Operator [FIL_36] (rows=500/500 width=18) predicate:key is not null - TableScan [TS_15] (rows=500/500 width=10) + TableScan [TS_15] (rows=500/500 width=18) default@tab_part,b,Tbl:COMPLETE,Col:NONE,Output:["key"] <-Union 2 [SIMPLE_EDGE] <-Map 1 [CONTAINS] Reduce Output Operator [RS_18] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_37] (rows=266/480 width=10) + Merge Join Operator [MERGEJOIN_37] (rows=266/480 width=18) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0"] - <-Select Operator [SEL_5] (rows=242/242 width=10) + <-Select Operator [SEL_5] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_34] (rows=242/242 width=10) + Filter Operator [FIL_34] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=10) + TableScan [TS_3] (rows=242/242 width=18) default@tab,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=242/242 width=10) + <-Select Operator [SEL_2] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_33] (rows=242/242 width=10) + Filter Operator [FIL_33] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_0] (rows=242/242 width=10) + TableScan [TS_0] (rows=242/242 width=18) Output:["key"] <-Map 6 [CONTAINS] Reduce Output Operator [RS_18] PartitionCols:_col0 - Select Operator [SEL_12] (rows=242/242 width=10) + Select Operator [SEL_12] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_35] (rows=242/242 width=10) + Filter Operator [FIL_35] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_10] (rows=242/242 width=10) + TableScan [TS_10] (rows=242/242 width=18) Output:["key"] PREHOOK: query: select count(*) from (select s1.key as key, s1.value as value from tab s1 join tab s3 on s1.key=s3.key join tab s2 on s1.value=s2.value @@ -2345,934 +1010,59 @@ Stage-0 SHUFFLE [RS_29] Group By Operator [GBY_28] (rows=1/1 width=8) Output:["_col0"],aggregations:["count()"] - Merge Join Operator [MERGEJOIN_51] (rows=587/3768 width=10) + Merge Join Operator [MERGEJOIN_51] (rows=587/3768 width=18) Conds:Union 3._col0=RS_25._col0(Inner) <-Map 9 [SIMPLE_EDGE] SHUFFLE [RS_25] PartitionCols:_col0 - Select Operator [SEL_23] (rows=500/500 width=10) + Select Operator [SEL_23] (rows=500/500 width=18) Output:["_col0"] - Filter Operator [FIL_47] (rows=500/500 width=10) + Filter Operator [FIL_47] (rows=500/500 width=18) predicate:key is not null - TableScan [TS_21] (rows=500/500 width=10) + TableScan [TS_21] (rows=500/500 width=18) default@tab_part,b,Tbl:COMPLETE,Col:NONE,Output:["key"] <-Union 3 [SIMPLE_EDGE] <-Map 8 [CONTAINS] Reduce Output Operator [RS_24] PartitionCols:_col0 - Select Operator [SEL_18] (rows=242/242 width=10) + Select Operator [SEL_18] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_46] (rows=242/242 width=10) + Filter Operator [FIL_46] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_16] (rows=242/242 width=10) + TableScan [TS_16] (rows=242/242 width=18) Output:["key"] <-Reducer 2 [CONTAINS] Reduce Output Operator [RS_24] PartitionCols:_col0 - Merge Join Operator [MERGEJOIN_50] (rows=292/1166 width=10) + Merge Join Operator [MERGEJOIN_50] (rows=292/1166 width=18) Conds:RS_12._col1=RS_13._col1(Inner),Output:["_col0"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_12] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_48] (rows=266/480 width=10) + Merge Join Operator [MERGEJOIN_48] (rows=266/480 width=18) Conds:SEL_2._col0=SEL_5._col0(Inner),Output:["_col0","_col1"] - <-Select Operator [SEL_5] (rows=242/242 width=10) + <-Select Operator [SEL_5] (rows=242/242 width=18) Output:["_col0"] - Filter Operator [FIL_44] (rows=242/242 width=10) + Filter Operator [FIL_44] (rows=242/242 width=18) predicate:key is not null - TableScan [TS_3] (rows=242/242 width=10) + TableScan [TS_3] (rows=242/242 width=18) default@tab,s3,Tbl:COMPLETE,Col:NONE,Output:["key"] - <-Select Operator [SEL_2] (rows=242/242 width=10) + <-Select Operator [SEL_2] (rows=242/242 width=18) Output:["_col0","_col1"] - Filter Operator [FIL_43] (rows=242/242 width=10) + Filter Operator [FIL_43] (rows=242/242 width=18) predicate:(key is not null and value is not null) - TableScan [TS_0] (rows=242/242 width=10) + TableScan [TS_0] (rows=242/242 width=18) default@tab,s1,Tbl:COMPLETE,Col:NONE,Output:["key","value"] <-Map 7 [SIMPLE_EDGE] SHUFFLE [RS_13] PartitionCols:_col1 - Select Operator [SEL_8] (rows=242/242 width=10) + Select Operator [SEL_8] (rows=242/242 width=18) Output:["_col1"] - Filter Operator [FIL_45] (rows=242/242 width=10) + Filter Operator [FIL_45] (rows=242/242 width=18) predicate:value is not null - TableScan [TS_6] (rows=242/242 width=10) + TableScan [TS_6] (rows=242/242 width=18) default@tab,s2,Tbl:COMPLETE,Col:NONE,Output:["value"] -PREHOOK: query: SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union all select * from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -#### A masked pattern was here #### -POSTHOOK: query: SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union all select * from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -#### A masked pattern was here #### -PREHOOK: query: explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union all select * from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -PREHOOK: type: QUERY -POSTHOOK: query: explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union all select * from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -union all -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union all select key, value from src union all select key, value from src union all select key, value from src)z ON (x.value = z.value) -POSTHOOK: type: QUERY -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Tez -#### A masked pattern was here #### - Edges: - Map 1 <- Map 6 (BROADCAST_EDGE), Union 2 (CONTAINS) - Map 12 <- Union 9 (CONTAINS) - Map 13 <- Union 9 (CONTAINS) - Map 16 <- Map 17 (BROADCAST_EDGE) - Map 18 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS) - Map 19 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS) - Map 20 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS) - Map 21 <- Map 16 (BROADCAST_EDGE), Union 4 (CONTAINS) - Map 5 <- Map 6 (BROADCAST_EDGE), Union 2 (CONTAINS) - Map 8 <- Union 9 (CONTAINS) - Reducer 10 <- Map 14 (SIMPLE_EDGE), Union 9 (SIMPLE_EDGE) - Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE), Union 4 (CONTAINS) - Reducer 3 <- Map 7 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS) -#### A masked pattern was here #### - Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: src1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col0 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col1 - input vertices: - 1 Map 6 - Statistics: Num rows: 577/108 Data size: 6053 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 577/108 Data size: 6053 Basic stats: COMPLETE Column stats: NONE - Map 12 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Map 13 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Map 14 - Map Operator Tree: - TableScan - alias: x - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string) - Map 15 - Map Operator Tree: - TableScan - alias: y - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: key is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string) - Map 16 - Map Operator Tree: - TableScan - alias: x - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 25/25 Data size: 191 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) - outputColumnNames: _col0, _col1, _col3 - input vertices: - 1 Map 17 - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col3 (type: string) - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col3 (type: string) - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col3 (type: string) - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col3 (type: string) - Map 17 - Map Operator Tree: - TableScan - alias: y - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: key is not null (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string) - Map 18 - Map Operator Tree: - TableScan - alias: src1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col0 (type: string) - outputColumnNames: _col0, _col3 - input vertices: - 0 Map 16 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Select Operator - expressions: _col0 (type: string), _col3 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3550/6411 Data size: 37482 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Map 19 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col0 (type: string) - outputColumnNames: _col0, _col3 - input vertices: - 0 Map 16 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Select Operator - expressions: _col0 (type: string), _col3 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3550/6411 Data size: 37482 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Map 20 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col0 (type: string) - outputColumnNames: _col0, _col3 - input vertices: - 0 Map 16 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Select Operator - expressions: _col0 (type: string), _col3 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3550/6411 Data size: 37482 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Map 21 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col0 (type: string) - outputColumnNames: _col0, _col3 - input vertices: - 0 Map 16 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Select Operator - expressions: _col0 (type: string), _col3 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3550/6411 Data size: 37482 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Map 5 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col0 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col1 - input vertices: - 1 Map 6 - Statistics: Num rows: 577/108 Data size: 6053 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 577/108 Data size: 6053 Basic stats: COMPLETE Column stats: NONE - Map 6 - Map Operator Tree: - TableScan - alias: x - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string) - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string) - Map 7 - Map Operator Tree: - TableScan - alias: y - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: key is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: string) - Map 8 - Map Operator Tree: - TableScan - alias: src1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string) - sort order: + - Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Reducer 10 - Reduce Operator Tree: - Merge Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col0 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 1127/2097 Data size: 11896 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 1127/2097 Data size: 11896 Basic stats: COMPLETE Column stats: NONE - Reducer 11 - Reduce Operator Tree: - Merge Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col0 (type: string) - outputColumnNames: _col1, _col4 - Statistics: Num rows: 1239/5421 Data size: 13085 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string), _col4 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1239/5421 Data size: 13085 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3550/6411 Data size: 37482 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Reducer 3 - Reduce Operator Tree: - Merge Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col0 (type: string) - outputColumnNames: _col1, _col4 - Statistics: Num rows: 634/170 Data size: 6658 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string), _col4 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 634/170 Data size: 6658 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3550/6411 Data size: 37482 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - Union 2 - Vertex: Union 2 - Union 4 - Vertex: Union 4 - Union 9 - Vertex: Union 9 - - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - ListSink - -PREHOOK: query: SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) -PREHOOK: type: QUERY -PREHOOK: Input: default@src -PREHOOK: Input: default@src1 -#### A masked pattern was here #### -POSTHOOK: query: SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -POSTHOOK: Input: default@src1 -#### A masked pattern was here #### -PREHOOK: query: explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) -PREHOOK: type: QUERY -POSTHOOK: query: explain analyze -SELECT x.key, y.value -FROM src1 x JOIN src y ON (x.key = y.key) -JOIN (select * from src1 union select * from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src x JOIN src y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src)z ON (x.value = z.value) -union -SELECT x.key, y.value -FROM src1 x JOIN src1 y ON (x.key = y.key) -JOIN (select key, value from src1 union select key, value from src union select key, value from src union select key, value from src)z ON (x.value = z.value) -POSTHOOK: type: QUERY -Plan optimized by CBO. - -Vertex dependency in root stage -Map 1 <- Union 2 (CONTAINS) -Map 12 <- Union 13 (CONTAINS) -Map 19 <- Union 13 (CONTAINS) -Map 20 <- Union 15 (CONTAINS) -Map 23 <- Map 24 (BROADCAST_EDGE) -Map 25 <- Union 26 (CONTAINS) -Map 32 <- Union 26 (CONTAINS) -Map 33 <- Union 28 (CONTAINS) -Map 34 <- Union 30 (CONTAINS) -Map 9 <- Union 2 (CONTAINS) -Reducer 14 <- Union 13 (SIMPLE_EDGE), Union 15 (CONTAINS) -Reducer 16 <- Union 15 (SIMPLE_EDGE) -Reducer 17 <- Map 21 (SIMPLE_EDGE), Reducer 16 (SIMPLE_EDGE) -Reducer 18 <- Map 22 (SIMPLE_EDGE), Reducer 17 (SIMPLE_EDGE), Union 5 (CONTAINS) -Reducer 27 <- Union 26 (SIMPLE_EDGE), Union 28 (CONTAINS) -Reducer 29 <- Union 28 (SIMPLE_EDGE), Union 30 (CONTAINS) -Reducer 3 <- Map 10 (BROADCAST_EDGE), Union 2 (SIMPLE_EDGE) -Reducer 31 <- Map 23 (BROADCAST_EDGE), Union 30 (SIMPLE_EDGE), Union 7 (CONTAINS) -Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS) -Reducer 6 <- Union 5 (SIMPLE_EDGE), Union 7 (CONTAINS) -Reducer 8 <- Union 7 (SIMPLE_EDGE) - -Stage-0 - Fetch Operator - limit:-1 - Stage-1 - Reducer 8 - File Output Operator [FS_122] - Group By Operator [GBY_120] (rows=530/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 7 [SIMPLE_EDGE] - <-Reducer 31 [CONTAINS] - Reduce Output Operator [RS_119] - PartitionCols:_col0, _col1 - Group By Operator [GBY_118] (rows=1061/331 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_114] (rows=484/304 width=10) - Output:["_col0","_col1"] - Map Join Operator [MAPJOIN_167] (rows=484/304 width=10) - Conds:RS_111._col1=SEL_107._col1(Inner),HybridGraceHashJoin:true,Output:["_col0","_col3"] - <-Map 23 [BROADCAST_EDGE] - BROADCAST [RS_111] - PartitionCols:_col1 - Map Join Operator [MAPJOIN_166] (rows=27/115 width=7) - Conds:SEL_71._col0=RS_109._col0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col3"] - <-Map 24 [BROADCAST_EDGE] - BROADCAST [RS_109] - PartitionCols:_col0 - Select Operator [SEL_74] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_157] (rows=25/25 width=7) - predicate:key is not null - TableScan [TS_72] (rows=25/25 width=7) - default@src1,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_71] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_156] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_69] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_107] (rows=440/319 width=10) - Output:["_col1"] - Group By Operator [GBY_106] (rows=440/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 30 [SIMPLE_EDGE] - <-Map 34 [CONTAINS] - Reduce Output Operator [RS_105] - PartitionCols:_col0, _col1 - Group By Operator [GBY_104] (rows=881/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_100] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_161] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_98] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 29 [CONTAINS] - Reduce Output Operator [RS_105] - PartitionCols:_col0, _col1 - Group By Operator [GBY_104] (rows=881/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_97] (rows=381/319 width=10) - Output:["_col0","_col1"] - Group By Operator [GBY_96] (rows=381/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 28 [SIMPLE_EDGE] - <-Map 33 [CONTAINS] - Reduce Output Operator [RS_95] - PartitionCols:_col0, _col1 - Group By Operator [GBY_94] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_90] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_160] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_88] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 27 [CONTAINS] - Reduce Output Operator [RS_95] - PartitionCols:_col0, _col1 - Group By Operator [GBY_94] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_87] (rows=262/319 width=10) - Output:["_col0","_col1"] - Group By Operator [GBY_86] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 26 [SIMPLE_EDGE] - <-Map 25 [CONTAINS] - Reduce Output Operator [RS_85] - PartitionCols:_col0, _col1 - Group By Operator [GBY_84] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_77] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_158] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_75] (rows=25/25 width=7) - Output:["key","value"] - <-Map 32 [CONTAINS] - Reduce Output Operator [RS_85] - PartitionCols:_col0, _col1 - Group By Operator [GBY_84] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_80] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_159] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_78] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 6 [CONTAINS] - Reduce Output Operator [RS_119] - PartitionCols:_col0, _col1 - Group By Operator [GBY_118] (rows=1061/331 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Group By Operator [GBY_67] (rows=577/309 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 5 [SIMPLE_EDGE] - <-Reducer 18 [CONTAINS] - Reduce Output Operator [RS_66] - PartitionCols:_col0, _col1 - Group By Operator [GBY_65] (rows=1155/324 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_61] (rows=605/1056 width=10) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_165] (rows=605/1056 width=10) - Conds:RS_58._col2=RS_59._col0(Inner),Output:["_col2","_col5"] - <-Map 22 [SIMPLE_EDGE] - SHUFFLE [RS_59] - PartitionCols:_col0 - Select Operator [SEL_54] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_155] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_52] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Reducer 17 [SIMPLE_EDGE] - SHUFFLE [RS_58] - PartitionCols:_col2 - Merge Join Operator [MERGEJOIN_164] (rows=550/512 width=10) - Conds:RS_55._col1=RS_56._col1(Inner),Output:["_col2"] - <-Map 21 [SIMPLE_EDGE] - SHUFFLE [RS_56] - PartitionCols:_col1 - Select Operator [SEL_51] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_154] (rows=500/500 width=10) - predicate:(key is not null and value is not null) - TableScan [TS_49] (rows=500/500 width=10) - default@src,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Reducer 16 [SIMPLE_EDGE] - SHUFFLE [RS_55] - PartitionCols:_col1 - Select Operator [SEL_48] (rows=381/319 width=10) - Output:["_col1"] - Group By Operator [GBY_47] (rows=381/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 15 [SIMPLE_EDGE] - <-Map 20 [CONTAINS] - Reduce Output Operator [RS_46] - PartitionCols:_col0, _col1 - Group By Operator [GBY_45] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_41] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_153] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_39] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 14 [CONTAINS] - Reduce Output Operator [RS_46] - PartitionCols:_col0, _col1 - Group By Operator [GBY_45] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_38] (rows=262/319 width=10) - Output:["_col0","_col1"] - Group By Operator [GBY_37] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 13 [SIMPLE_EDGE] - <-Map 12 [CONTAINS] - Reduce Output Operator [RS_36] - PartitionCols:_col0, _col1 - Group By Operator [GBY_35] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_28] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_151] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_26] (rows=25/25 width=7) - Output:["key","value"] - <-Map 19 [CONTAINS] - Reduce Output Operator [RS_36] - PartitionCols:_col0, _col1 - Group By Operator [GBY_35] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_31] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_152] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_29] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 4 [CONTAINS] - Reduce Output Operator [RS_66] - PartitionCols:_col0, _col1 - Group By Operator [GBY_65] (rows=1155/324 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_25] (rows=550/61 width=10) - Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_163] (rows=550/61 width=10) - Conds:RS_22._col2=RS_23._col0(Inner),Output:["_col2","_col5"] - <-Map 11 [SIMPLE_EDGE] - SHUFFLE [RS_23] - PartitionCols:_col0 - Select Operator [SEL_18] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_150] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_16] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Reducer 3 [SIMPLE_EDGE] - SHUFFLE [RS_22] - PartitionCols:_col2 - Map Join Operator [MAPJOIN_162] (rows=288/52 width=10) - Conds:SEL_12._col1=RS_20._col1(Inner),HybridGraceHashJoin:true,Output:["_col2"] - <-Map 10 [BROADCAST_EDGE] - BROADCAST [RS_20] - PartitionCols:_col1 - Select Operator [SEL_15] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_149] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_13] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_12] (rows=262/319 width=10) - Output:["_col1"] - Group By Operator [GBY_11] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 2 [SIMPLE_EDGE] - <-Map 1 [CONTAINS] - Reduce Output Operator [RS_10] - PartitionCols:_col0, _col1 - Group By Operator [GBY_9] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_2] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_147] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_0] (rows=25/25 width=7) - Output:["key","value"] - <-Map 9 [CONTAINS] - Reduce Output Operator [RS_10] - PartitionCols:_col0, _col1 - Group By Operator [GBY_9] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col1, _col0 - Select Operator [SEL_5] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_148] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_3] (rows=500/500 width=10) - Output:["key","value"] - PREHOOK: query: CREATE TABLE a(key STRING, value STRING) STORED AS TEXTFILE PREHOOK: type: CREATETABLE PREHOOK: Output: database:default @@ -3381,626 +1171,244 @@ INSERT OVERWRITE TABLE a SELECT tmp.key, tmp.value INSERT OVERWRITE TABLE b SELECT tmp.key, tmp.value INSERT OVERWRITE TABLE c SELECT tmp.key, tmp.value POSTHOOK: type: QUERY -STAGE DEPENDENCIES: - Stage-3 is a root stage - Stage-4 depends on stages: Stage-3 - Stage-0 depends on stages: Stage-4 - Stage-5 depends on stages: Stage-0 - Stage-1 depends on stages: Stage-4 - Stage-6 depends on stages: Stage-1 - Stage-2 depends on stages: Stage-4 - Stage-7 depends on stages: Stage-2 - -STAGE PLANS: - Stage: Stage-3 - Tez -#### A masked pattern was here #### - Edges: - Map 1 <- Union 2 (CONTAINS) - Map 11 <- Union 9 (CONTAINS) - Map 12 <- Union 9 (CONTAINS) - Map 16 <- Map 20 (BROADCAST_EDGE), Union 4 (CONTAINS) - Map 17 <- Map 20 (BROADCAST_EDGE), Union 4 (CONTAINS) - Map 18 <- Map 20 (BROADCAST_EDGE), Union 4 (CONTAINS) - Map 19 <- Map 20 (BROADCAST_EDGE), Union 4 (CONTAINS) - Map 20 <- Map 21 (BROADCAST_EDGE) - Map 5 <- Union 2 (CONTAINS) - Map 7 <- Map 6 (BROADCAST_EDGE) - Map 8 <- Union 9 (CONTAINS) - Reducer 10 <- Reducer 14 (SIMPLE_EDGE), Union 4 (CONTAINS), Union 9 (SIMPLE_EDGE) - Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE) - Reducer 3 <- Map 7 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS) -#### A masked pattern was here #### - Vertices: - Map 1 - Map Operator Tree: - TableScan - alias: src1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 525/525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 525/525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE - Map 11 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Map 12 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Map 13 - Map Operator Tree: - TableScan - alias: x - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: key (type: string) - sort order: + - Map-reduce partition columns: key (type: string) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - value expressions: value (type: string) - Map 15 - Map Operator Tree: - TableScan - alias: y - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: key is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: key (type: string) - sort order: + - Map-reduce partition columns: key (type: string) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - value expressions: value (type: string) - Map 16 - Map Operator Tree: - TableScan - alias: src1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 1525/1525 Data size: 16127 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col0, _col6 - input vertices: - 0 Map 20 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Select Operator - expressions: _col0 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.a - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.b - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.c - Map 17 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 1525/1525 Data size: 16127 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col0, _col6 - input vertices: - 0 Map 20 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Select Operator - expressions: _col0 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.a - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.b - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.c - Map 18 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 1525/1525 Data size: 16127 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col0, _col6 - input vertices: - 0 Map 20 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Select Operator - expressions: _col0 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.a - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.b - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.c - Map 19 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 1525/1525 Data size: 16127 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col0, _col6 - input vertices: - 0 Map 20 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Select Operator - expressions: _col0 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1677/820 Data size: 17739 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.a - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.b - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.c - Map 20 - Map Operator Tree: - TableScan - alias: x - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 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: _col0, _col1, _col6 - input vertices: - 1 Map 21 - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col6 (type: string) - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col6 (type: string) - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col6 (type: string) - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 27/115 Data size: 210 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col6 (type: string) - Map 21 - Map Operator Tree: - TableScan - alias: y - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: key is not null (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: key (type: string) - sort order: + - Map-reduce partition columns: key (type: string) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - value expressions: value (type: string) - Map 5 - Map Operator Tree: - TableScan - alias: src - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 525/525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 525/525 Data size: 5503 Basic stats: COMPLETE Column stats: NONE - Map 6 - Map Operator Tree: - TableScan - alias: x - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: key (type: string) - sort order: + - Map-reduce partition columns: key (type: string) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - value expressions: value (type: string) - Map 7 - Map Operator Tree: - TableScan - alias: y - Statistics: Num rows: 500/500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: key is not null (type: boolean) - Statistics: Num rows: 500/500 Data size: 5312 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: _col0, _col1, _col6 - input vertices: - 0 Map 6 - Statistics: Num rows: 550/37 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - HybridGraceHashJoin: true - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 550/37 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col6 (type: string) - Map 8 - Map Operator Tree: - TableScan - alias: src1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: value is not null (type: boolean) - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: value (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 25/25 Data size: 191 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col1 (type: string) - outputColumnNames: _col1 - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 1025/1025 Data size: 10815 Basic stats: COMPLETE Column stats: NONE - Reducer 10 - Reduce Operator Tree: - Merge Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col0, _col6 - Statistics: Num rows: 1127/5421 Data size: 11896 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1127/5421 Data size: 11896 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.a - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.b - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.c - Reducer 14 - Reduce Operator Tree: - Merge Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 key (type: string) - 1 key (type: string) - outputColumnNames: _col0, _col1, _col6 - Statistics: Num rows: 550/1028 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col1 (type: string) - sort order: + - Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 550/1028 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: string), _col6 (type: string) - Reducer 3 - Reduce Operator Tree: - Merge Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string) - 1 _col1 (type: string) - outputColumnNames: _col0, _col6 - Statistics: Num rows: 605/170 Data size: 6427 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 605/170 Data size: 6427 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.a - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.b - File Output Operator - compressed: false - Statistics: Num rows: 3409/6411 Data size: 36062 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.c - Union 2 - Vertex: Union 2 - Union 4 - Vertex: Union 4 - Union 9 - Vertex: Union 9 - - Stage: Stage-4 - Dependency Collection - - Stage: Stage-0 - Move Operator - tables: - replace: true - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.a - - Stage: Stage-5 - Stats-Aggr Operator - - Stage: Stage-1 - Move Operator - tables: - replace: true - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.b - - Stage: Stage-6 - Stats-Aggr Operator +Plan not optimized by CBO. - Stage: Stage-2 - Move Operator - tables: - replace: true - table: - input format: org.apache.hadoop.mapred.TextInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - name: default.c +Vertex dependency in root stage +Map 1 <- Union 2 (CONTAINS) +Map 12 <- Union 10 (CONTAINS) +Map 13 <- Union 10 (CONTAINS) +Map 17 <- Union 18 (CONTAINS) +Map 20 <- Union 18 (CONTAINS) +Map 21 <- Union 18 (CONTAINS) +Map 22 <- Union 18 (CONTAINS) +Map 5 <- Union 2 (CONTAINS) +Map 9 <- Union 10 (CONTAINS) +Reducer 11 <- Reducer 15 (SIMPLE_EDGE), Union 10 (SIMPLE_EDGE), Union 4 (CONTAINS) +Reducer 15 <- Map 14 (SIMPLE_EDGE), Map 16 (SIMPLE_EDGE) +Reducer 19 <- Reducer 24 (SIMPLE_EDGE), Union 18 (SIMPLE_EDGE), Union 4 (CONTAINS) +Reducer 24 <- Map 23 (SIMPLE_EDGE), Map 25 (SIMPLE_EDGE) +Reducer 3 <- Reducer 7 (SIMPLE_EDGE), Union 2 (SIMPLE_EDGE), Union 4 (CONTAINS) +Reducer 7 <- Map 6 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE) - Stage: Stage-7 - Stats-Aggr Operator +Stage-5 + Stats-Aggr Operator + Stage-0 + Move Operator + table:{"name:":"default.a"} + Stage-4 + Dependency Collection{} + Stage-3 + Union 4 + <-Reducer 11 [CONTAINS] + File Output Operator [FS_66] + table:{"name:":"default.a"} + Select Operator [SEL_39] (rows=5838/5421 width=178) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_111] (rows=5838/5421 width=178) + Conds:RS_35._col1=Union 10._col1(Inner),Output:["_col0","_col6"] + <-Reducer 15 [SIMPLE_EDGE] + SHUFFLE [RS_35] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_108] (rows=1219/1028 width=269) + Conds:RS_30.key=RS_32.key(Inner),Output:["_col0","_col1","_col6"] + <-Map 14 [SIMPLE_EDGE] + SHUFFLE [RS_30] + PartitionCols:key + Filter Operator [FIL_99] (rows=500/500 width=178) + predicate:(key is not null and value is not null) + TableScan [TS_27] (rows=500/500 width=178) + default@src,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 16 [SIMPLE_EDGE] + SHUFFLE [RS_32] + PartitionCols:key + Filter Operator [FIL_100] (rows=500/500 width=178) + predicate:key is not null + TableScan [TS_28] (rows=500/500 width=178) + default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Union 10 [SIMPLE_EDGE] + <-Map 12 [CONTAINS] + Reduce Output Operator [RS_37] + PartitionCols:_col1 + Select Operator [SEL_26] (rows=1025/1025 width=90) + Output:["_col1"] + Select Operator [SEL_22] (rows=500/500 width=91) + Output:["_col1"] + Filter Operator [FIL_97] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_21] (rows=500/500 width=91) + Output:["value"] + <-Map 13 [CONTAINS] + Reduce Output Operator [RS_37] + PartitionCols:_col1 + Select Operator [SEL_26] (rows=1025/1025 width=90) + Output:["_col1"] + Select Operator [SEL_25] (rows=500/500 width=91) + Output:["_col1"] + Filter Operator [FIL_98] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_24] (rows=500/500 width=91) + Output:["value"] + <-Map 9 [CONTAINS] + Reduce Output Operator [RS_37] + PartitionCols:_col1 + Select Operator [SEL_26] (rows=1025/1025 width=90) + Output:["_col1"] + Select Operator [SEL_20] (rows=25/25 width=89) + Output:["_col1"] + Filter Operator [FIL_96] (rows=25/25 width=89) + predicate:value is not null + TableScan [TS_19] (rows=25/25 width=89) + Output:["value"] + File Output Operator [FS_68] + table:{"name:":"default.b"} + Please refer to the previous Select Operator [SEL_39] + File Output Operator [FS_70] + table:{"name:":"default.c"} + Please refer to the previous Select Operator [SEL_39] + <-Reducer 19 [CONTAINS] + File Output Operator [FS_66] + table:{"name:":"default.a"} + Select Operator [SEL_63] (rows=313/820 width=175) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_112] (rows=313/820 width=175) + Conds:RS_59._col1=Union 18._col1(Inner),Output:["_col0","_col6"] + <-Reducer 24 [SIMPLE_EDGE] + SHUFFLE [RS_59] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_109] (rows=44/115 width=264) + Conds:RS_54.key=RS_56.key(Inner),Output:["_col0","_col1","_col6"] + <-Map 23 [SIMPLE_EDGE] + SHUFFLE [RS_54] + PartitionCols:key + Filter Operator [FIL_105] (rows=25/25 width=175) + predicate:(key is not null and value is not null) + TableScan [TS_51] (rows=25/25 width=175) + default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 25 [SIMPLE_EDGE] + SHUFFLE [RS_56] + PartitionCols:key + Filter Operator [FIL_106] (rows=25/25 width=175) + predicate:key is not null + TableScan [TS_52] (rows=25/25 width=175) + default@src1,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Union 18 [SIMPLE_EDGE] + <-Map 17 [CONTAINS] + Reduce Output Operator [RS_61] + PartitionCols:_col1 + Select Operator [SEL_50] (rows=1525/1525 width=90) + Output:["_col1"] + Select Operator [SEL_42] (rows=25/25 width=89) + Output:["_col1"] + Filter Operator [FIL_101] (rows=25/25 width=89) + predicate:value is not null + TableScan [TS_41] (rows=25/25 width=89) + Output:["value"] + <-Map 20 [CONTAINS] + Reduce Output Operator [RS_61] + PartitionCols:_col1 + Select Operator [SEL_50] (rows=1525/1525 width=90) + Output:["_col1"] + Select Operator [SEL_44] (rows=500/500 width=91) + Output:["_col1"] + Filter Operator [FIL_102] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_43] (rows=500/500 width=91) + Output:["value"] + <-Map 21 [CONTAINS] + Reduce Output Operator [RS_61] + PartitionCols:_col1 + Select Operator [SEL_50] (rows=1525/1525 width=90) + Output:["_col1"] + Select Operator [SEL_47] (rows=500/500 width=91) + Output:["_col1"] + Filter Operator [FIL_103] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_46] (rows=500/500 width=91) + Output:["value"] + <-Map 22 [CONTAINS] + Reduce Output Operator [RS_61] + PartitionCols:_col1 + Select Operator [SEL_50] (rows=1525/1525 width=90) + Output:["_col1"] + Select Operator [SEL_49] (rows=500/500 width=91) + Output:["_col1"] + Filter Operator [FIL_104] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_48] (rows=500/500 width=91) + Output:["value"] + File Output Operator [FS_68] + table:{"name:":"default.b"} + Please refer to the previous Select Operator [SEL_63] + File Output Operator [FS_70] + table:{"name:":"default.c"} + Please refer to the previous Select Operator [SEL_63] + <-Reducer 3 [CONTAINS] + File Output Operator [FS_66] + table:{"name:":"default.a"} + Select Operator [SEL_18] (rows=147/170 width=177) + Output:["_col0","_col1"] + Merge Join Operator [MERGEJOIN_110] (rows=147/170 width=177) + Conds:RS_14._col1=Union 2._col1(Inner),Output:["_col0","_col6"] + <-Reducer 7 [SIMPLE_EDGE] + SHUFFLE [RS_14] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_107] (rows=60/37 width=266) + Conds:RS_9.key=RS_11.key(Inner),Output:["_col0","_col1","_col6"] + <-Map 6 [SIMPLE_EDGE] + SHUFFLE [RS_9] + PartitionCols:key + Filter Operator [FIL_94] (rows=25/25 width=175) + predicate:(key is not null and value is not null) + TableScan [TS_6] (rows=25/25 width=175) + default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 8 [SIMPLE_EDGE] + SHUFFLE [RS_11] + PartitionCols:key + Filter Operator [FIL_95] (rows=500/500 width=178) + predicate:key is not null + TableScan [TS_7] (rows=500/500 width=178) + default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Union 2 [SIMPLE_EDGE] + <-Map 1 [CONTAINS] + Reduce Output Operator [RS_16] + PartitionCols:_col1 + Select Operator [SEL_5] (rows=525/525 width=90) + Output:["_col1"] + Select Operator [SEL_1] (rows=25/25 width=89) + Output:["_col1"] + Filter Operator [FIL_92] (rows=25/25 width=89) + predicate:value is not null + TableScan [TS_0] (rows=25/25 width=89) + Output:["value"] + <-Map 5 [CONTAINS] + Reduce Output Operator [RS_16] + PartitionCols:_col1 + Select Operator [SEL_5] (rows=525/525 width=90) + Output:["_col1"] + Select Operator [SEL_3] (rows=500/500 width=91) + Output:["_col1"] + Filter Operator [FIL_93] (rows=500/500 width=91) + predicate:value is not null + TableScan [TS_2] (rows=500/500 width=91) + Output:["value"] + File Output Operator [FS_68] + table:{"name:":"default.b"} + Please refer to the previous Select Operator [SEL_18] + File Output Operator [FS_70] + table:{"name:":"default.c"} + Please refer to the previous Select Operator [SEL_18] +Stage-6 + Stats-Aggr Operator + Stage-1 + Move Operator + table:{"name:":"default.b"} + Please refer to the previous Stage-4 +Stage-7 + Stats-Aggr Operator + Stage-2 + Move Operator + table:{"name:":"default.c"} + Please refer to the previous Stage-4 PREHOOK: query: FROM ( @@ -4078,25 +1486,26 @@ Plan not optimized by CBO. Vertex dependency in root stage Map 1 <- Union 2 (CONTAINS) -Map 11 <- Map 10 (BROADCAST_EDGE) -Map 12 <- Union 13 (CONTAINS) -Map 18 <- Union 13 (CONTAINS) -Map 19 <- Union 15 (CONTAINS) -Map 23 <- Union 24 (CONTAINS) -Map 30 <- Union 24 (CONTAINS) -Map 31 <- Union 26 (CONTAINS) -Map 32 <- Union 28 (CONTAINS) -Map 33 <- Map 34 (BROADCAST_EDGE) +Map 13 <- Union 14 (CONTAINS) +Map 19 <- Union 14 (CONTAINS) +Map 20 <- Union 16 (CONTAINS) +Map 24 <- Union 25 (CONTAINS) +Map 32 <- Union 25 (CONTAINS) +Map 33 <- Union 27 (CONTAINS) +Map 34 <- Union 29 (CONTAINS) Map 9 <- Union 2 (CONTAINS) -Reducer 14 <- Union 13 (SIMPLE_EDGE), Union 15 (CONTAINS) -Reducer 16 <- Union 15 (SIMPLE_EDGE) -Reducer 17 <- Reducer 16 (SIMPLE_EDGE), Reducer 21 (SIMPLE_EDGE), Union 5 (CONTAINS) -Reducer 21 <- Map 20 (SIMPLE_EDGE), Map 22 (SIMPLE_EDGE) -Reducer 25 <- Union 24 (SIMPLE_EDGE), Union 26 (CONTAINS) -Reducer 27 <- Union 26 (SIMPLE_EDGE), Union 28 (CONTAINS) -Reducer 29 <- Map 33 (BROADCAST_EDGE), Union 28 (SIMPLE_EDGE), Union 7 (CONTAINS) +Reducer 11 <- Map 10 (SIMPLE_EDGE), Map 12 (SIMPLE_EDGE) +Reducer 15 <- Union 14 (SIMPLE_EDGE), Union 16 (CONTAINS) +Reducer 17 <- Union 16 (SIMPLE_EDGE) +Reducer 18 <- Reducer 17 (SIMPLE_EDGE), Reducer 22 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 22 <- Map 21 (SIMPLE_EDGE), Map 23 (SIMPLE_EDGE) +Reducer 26 <- Union 25 (SIMPLE_EDGE), Union 27 (CONTAINS) +Reducer 28 <- Union 27 (SIMPLE_EDGE), Union 29 (CONTAINS) Reducer 3 <- Union 2 (SIMPLE_EDGE) -Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS) +Reducer 30 <- Union 29 (SIMPLE_EDGE) +Reducer 31 <- Reducer 30 (SIMPLE_EDGE), Reducer 36 (SIMPLE_EDGE), Union 7 (CONTAINS) +Reducer 36 <- Map 35 (SIMPLE_EDGE), Map 37 (SIMPLE_EDGE) +Reducer 4 <- Reducer 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE), Union 5 (CONTAINS) Reducer 6 <- Union 5 (SIMPLE_EDGE), Union 7 (CONTAINS) Reducer 8 <- Union 7 (SIMPLE_EDGE) @@ -4111,238 +1520,247 @@ Stage-5 Reducer 8 File Output Operator [FS_114] table:{"name:":"default.a"} - Group By Operator [GBY_111] (rows=544/319 width=10) + Group By Operator [GBY_111] (rows=605/319 width=178) Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 <-Union 7 [SIMPLE_EDGE] - <-Reducer 29 [CONTAINS] + <-Reducer 31 [CONTAINS] Reduce Output Operator [RS_110] PartitionCols:_col0, _col1 - Group By Operator [GBY_109] (rows=1089/331 width=10) + Group By Operator [GBY_109] (rows=605/331 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_105] (rows=484/304 width=10) + Select Operator [SEL_105] (rows=90/304 width=175) Output:["_col0","_col1"] - Map Join Operator [MAPJOIN_160] (rows=484/304 width=10) - Conds:RS_101._col1=SEL_92._col1(Inner),HybridGraceHashJoin:true,Output:["_col0","_col6"] - <-Map 33 [BROADCAST_EDGE] - BROADCAST [RS_101] + Merge Join Operator [MERGEJOIN_160] (rows=90/304 width=175) + Conds:RS_101._col1=RS_103._col1(Inner),Output:["_col0","_col6"] + <-Reducer 30 [SIMPLE_EDGE] + SHUFFLE [RS_103] PartitionCols:_col1 - Map Join Operator [MAPJOIN_157] (rows=27/115 width=7) - Conds:FIL_153.key=RS_98.key(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col6"] - <-Map 34 [BROADCAST_EDGE] - BROADCAST [RS_98] + Select Operator [SEL_92] (rows=440/319 width=178) + Output:["_col1"] + Group By Operator [GBY_91] (rows=440/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 29 [SIMPLE_EDGE] + <-Map 34 [CONTAINS] + Reduce Output Operator [RS_90] + PartitionCols:_col0, _col1 + Group By Operator [GBY_89] (rows=440/628 width=178) + Output:["_col0","_col1"],keys:_col0, _col1 + Select Operator [SEL_85] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_152] (rows=500/500 width=178) + predicate:value is not null + TableScan [TS_84] (rows=500/500 width=178) + Output:["key","value"] + <-Reducer 28 [CONTAINS] + Reduce Output Operator [RS_90] + PartitionCols:_col0, _col1 + Group By Operator [GBY_89] (rows=440/628 width=178) + Output:["_col0","_col1"],keys:_col0, _col1 + Group By Operator [GBY_82] (rows=381/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 27 [SIMPLE_EDGE] + <-Map 33 [CONTAINS] + Reduce Output Operator [RS_81] + PartitionCols:_col0, _col1 + Group By Operator [GBY_80] (rows=381/628 width=178) + Output:["_col0","_col1"],keys:_col0, _col1 + Select Operator [SEL_76] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_151] (rows=500/500 width=178) + predicate:value is not null + TableScan [TS_75] (rows=500/500 width=178) + Output:["key","value"] + <-Reducer 26 [CONTAINS] + Reduce Output Operator [RS_81] + PartitionCols:_col0, _col1 + Group By Operator [GBY_80] (rows=381/628 width=178) + Output:["_col0","_col1"],keys:_col0, _col1 + Group By Operator [GBY_73] (rows=262/319 width=178) + Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 + <-Union 25 [SIMPLE_EDGE] + <-Map 24 [CONTAINS] + Reduce Output Operator [RS_72] + PartitionCols:_col0, _col1 + Group By Operator [GBY_71] (rows=262/331 width=178) + Output:["_col0","_col1"],keys:_col0, _col1 + Select Operator [SEL_65] (rows=25/25 width=175) + Output:["_col0","_col1"] + Filter Operator [FIL_149] (rows=25/25 width=175) + predicate:value is not null + TableScan [TS_64] (rows=25/25 width=175) + Output:["key","value"] + <-Map 32 [CONTAINS] + Reduce Output Operator [RS_72] + PartitionCols:_col0, _col1 + Group By Operator [GBY_71] (rows=262/331 width=178) + Output:["_col0","_col1"],keys:_col0, _col1 + Select Operator [SEL_67] (rows=500/500 width=178) + Output:["_col0","_col1"] + Filter Operator [FIL_150] (rows=500/500 width=178) + predicate:value is not null + TableScan [TS_66] (rows=500/500 width=178) + Output:["key","value"] + <-Reducer 36 [SIMPLE_EDGE] + SHUFFLE [RS_101] + PartitionCols:_col1 + Merge Join Operator [MERGEJOIN_157] (rows=44/115 width=264) + Conds:RS_96.key=RS_98.key(Inner),Output:["_col0","_col1","_col6"] + <-Map 35 [SIMPLE_EDGE] + SHUFFLE [RS_96] PartitionCols:key - Filter Operator [FIL_154] (rows=25/25 width=7) + Filter Operator [FIL_153] (rows=25/25 width=175) + predicate:(key is not null and value is not null) + TableScan [TS_93] (rows=25/25 width=175) + default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 37 [SIMPLE_EDGE] + SHUFFLE [RS_98] + PartitionCols:key + Filter Operator [FIL_154] (rows=25/25 width=175) predicate:key is not null - TableScan [TS_94] (rows=25/25 width=7) - default@src1,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Filter Operator [FIL_153] (rows=25/25 width=7) - predicate:(key is not null and value is not null) - TableScan [TS_93] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Select Operator [SEL_92] (rows=440/319 width=10) - Output:["_col1"] - Group By Operator [GBY_91] (rows=440/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 28 [SIMPLE_EDGE] - <-Map 32 [CONTAINS] - Reduce Output Operator [RS_90] - PartitionCols:_col0, _col1 - Group By Operator [GBY_89] (rows=881/628 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_85] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_152] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_84] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 27 [CONTAINS] - Reduce Output Operator [RS_90] - PartitionCols:_col0, _col1 - Group By Operator [GBY_89] (rows=881/628 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Group By Operator [GBY_82] (rows=381/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 26 [SIMPLE_EDGE] - <-Map 31 [CONTAINS] - Reduce Output Operator [RS_81] - PartitionCols:_col0, _col1 - Group By Operator [GBY_80] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_76] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_151] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_75] (rows=500/500 width=10) - Output:["key","value"] - <-Reducer 25 [CONTAINS] - Reduce Output Operator [RS_81] - PartitionCols:_col0, _col1 - Group By Operator [GBY_80] (rows=762/628 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Group By Operator [GBY_73] (rows=262/319 width=10) - Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 24 [SIMPLE_EDGE] - <-Map 23 [CONTAINS] - Reduce Output Operator [RS_72] - PartitionCols:_col0, _col1 - Group By Operator [GBY_71] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_65] (rows=25/25 width=7) - Output:["_col0","_col1"] - Filter Operator [FIL_149] (rows=25/25 width=7) - predicate:value is not null - TableScan [TS_64] (rows=25/25 width=7) - Output:["key","value"] - <-Map 30 [CONTAINS] - Reduce Output Operator [RS_72] - PartitionCols:_col0, _col1 - Group By Operator [GBY_71] (rows=525/331 width=10) - Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_67] (rows=500/500 width=10) - Output:["_col0","_col1"] - Filter Operator [FIL_150] (rows=500/500 width=10) - predicate:value is not null - TableScan [TS_66] (rows=500/500 width=10) - Output:["key","value"] + TableScan [TS_94] (rows=25/25 width=175) + default@src1,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] <-Reducer 6 [CONTAINS] Reduce Output Operator [RS_110] PartitionCols:_col0, _col1 - Group By Operator [GBY_109] (rows=1089/331 width=10) + Group By Operator [GBY_109] (rows=605/331 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Group By Operator [GBY_62] (rows=605/309 width=10) + Group By Operator [GBY_62] (rows=1121/309 width=178) Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 <-Union 5 [SIMPLE_EDGE] - <-Reducer 17 [CONTAINS] + <-Reducer 18 [CONTAINS] Reduce Output Operator [RS_61] PartitionCols:_col0, _col1 - Group By Operator [GBY_60] (rows=1210/324 width=10) + Group By Operator [GBY_60] (rows=1121/324 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_56] (rows=605/1056 width=10) + Select Operator [SEL_56] (rows=2170/1056 width=178) Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_159] (rows=605/1056 width=10) + Merge Join Operator [MERGEJOIN_159] (rows=2170/1056 width=178) Conds:RS_52._col1=RS_54._col1(Inner),Output:["_col0","_col6"] - <-Reducer 16 [SIMPLE_EDGE] + <-Reducer 17 [SIMPLE_EDGE] SHUFFLE [RS_54] PartitionCols:_col1 - Select Operator [SEL_43] (rows=381/319 width=10) + Select Operator [SEL_43] (rows=381/319 width=178) Output:["_col1"] - Group By Operator [GBY_42] (rows=381/319 width=10) + Group By Operator [GBY_42] (rows=381/319 width=178) Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 15 [SIMPLE_EDGE] - <-Map 19 [CONTAINS] + <-Union 16 [SIMPLE_EDGE] + <-Map 20 [CONTAINS] Reduce Output Operator [RS_41] PartitionCols:_col0, _col1 - Group By Operator [GBY_40] (rows=762/628 width=10) + Group By Operator [GBY_40] (rows=381/628 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_36] (rows=500/500 width=10) + Select Operator [SEL_36] (rows=500/500 width=178) Output:["_col0","_col1"] - Filter Operator [FIL_146] (rows=500/500 width=10) + Filter Operator [FIL_146] (rows=500/500 width=178) predicate:value is not null - TableScan [TS_35] (rows=500/500 width=10) + TableScan [TS_35] (rows=500/500 width=178) Output:["key","value"] - <-Reducer 14 [CONTAINS] + <-Reducer 15 [CONTAINS] Reduce Output Operator [RS_41] PartitionCols:_col0, _col1 - Group By Operator [GBY_40] (rows=762/628 width=10) + Group By Operator [GBY_40] (rows=381/628 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Group By Operator [GBY_33] (rows=262/319 width=10) + Group By Operator [GBY_33] (rows=262/319 width=178) Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 - <-Union 13 [SIMPLE_EDGE] - <-Map 12 [CONTAINS] + <-Union 14 [SIMPLE_EDGE] + <-Map 13 [CONTAINS] Reduce Output Operator [RS_32] PartitionCols:_col0, _col1 - Group By Operator [GBY_31] (rows=525/331 width=10) + Group By Operator [GBY_31] (rows=262/331 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_25] (rows=25/25 width=7) + Select Operator [SEL_25] (rows=25/25 width=175) Output:["_col0","_col1"] - Filter Operator [FIL_144] (rows=25/25 width=7) + Filter Operator [FIL_144] (rows=25/25 width=175) predicate:value is not null - TableScan [TS_24] (rows=25/25 width=7) + TableScan [TS_24] (rows=25/25 width=175) Output:["key","value"] - <-Map 18 [CONTAINS] + <-Map 19 [CONTAINS] Reduce Output Operator [RS_32] PartitionCols:_col0, _col1 - Group By Operator [GBY_31] (rows=525/331 width=10) + Group By Operator [GBY_31] (rows=262/331 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_27] (rows=500/500 width=10) + Select Operator [SEL_27] (rows=500/500 width=178) Output:["_col0","_col1"] - Filter Operator [FIL_145] (rows=500/500 width=10) + Filter Operator [FIL_145] (rows=500/500 width=178) predicate:value is not null - TableScan [TS_26] (rows=500/500 width=10) + TableScan [TS_26] (rows=500/500 width=178) Output:["key","value"] - <-Reducer 21 [SIMPLE_EDGE] + <-Reducer 22 [SIMPLE_EDGE] SHUFFLE [RS_52] PartitionCols:_col1 - Merge Join Operator [MERGEJOIN_156] (rows=550/1028 width=10) + Merge Join Operator [MERGEJOIN_156] (rows=1219/1028 width=269) Conds:RS_47.key=RS_49.key(Inner),Output:["_col0","_col1","_col6"] - <-Map 20 [SIMPLE_EDGE] + <-Map 21 [SIMPLE_EDGE] SHUFFLE [RS_47] PartitionCols:key - Filter Operator [FIL_147] (rows=500/500 width=10) + Filter Operator [FIL_147] (rows=500/500 width=178) predicate:(key is not null and value is not null) - TableScan [TS_44] (rows=500/500 width=10) - default@src,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Map 22 [SIMPLE_EDGE] + TableScan [TS_44] (rows=500/500 width=178) + default@src,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 23 [SIMPLE_EDGE] SHUFFLE [RS_49] PartitionCols:key - Filter Operator [FIL_148] (rows=500/500 width=10) + Filter Operator [FIL_148] (rows=500/500 width=178) predicate:key is not null - TableScan [TS_45] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] + TableScan [TS_45] (rows=500/500 width=178) + default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] <-Reducer 4 [CONTAINS] Reduce Output Operator [RS_61] PartitionCols:_col0, _col1 - Group By Operator [GBY_60] (rows=1210/324 width=10) + Group By Operator [GBY_60] (rows=1121/324 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_23] (rows=605/61 width=10) + Select Operator [SEL_23] (rows=73/61 width=177) Output:["_col0","_col1"] - Merge Join Operator [MERGEJOIN_158] (rows=605/61 width=10) + Merge Join Operator [MERGEJOIN_158] (rows=73/61 width=177) Conds:RS_19._col1=RS_21._col1(Inner),Output:["_col0","_col6"] - <-Map 11 [SIMPLE_EDGE] + <-Reducer 11 [SIMPLE_EDGE] SHUFFLE [RS_19] PartitionCols:_col1 - Map Join Operator [MAPJOIN_155] (rows=550/37 width=10) - Conds:RS_14.key=FIL_143.key(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col6"] - <-Map 10 [BROADCAST_EDGE] - BROADCAST [RS_14] + Merge Join Operator [MERGEJOIN_155] (rows=60/37 width=266) + Conds:RS_14.key=RS_16.key(Inner),Output:["_col0","_col1","_col6"] + <-Map 10 [SIMPLE_EDGE] + SHUFFLE [RS_14] PartitionCols:key - Filter Operator [FIL_142] (rows=25/25 width=7) + Filter Operator [FIL_142] (rows=25/25 width=175) predicate:(key is not null and value is not null) - TableScan [TS_11] (rows=25/25 width=7) - default@src1,x,Tbl:COMPLETE,Col:NONE,Output:["key","value"] - <-Filter Operator [FIL_143] (rows=500/500 width=10) - predicate:key is not null - TableScan [TS_12] (rows=500/500 width=10) - default@src,y,Tbl:COMPLETE,Col:NONE,Output:["key","value"] + TableScan [TS_11] (rows=25/25 width=175) + default@src1,x,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] + <-Map 12 [SIMPLE_EDGE] + SHUFFLE [RS_16] + PartitionCols:key + Filter Operator [FIL_143] (rows=500/500 width=178) + predicate:key is not null + TableScan [TS_12] (rows=500/500 width=178) + default@src,y,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] <-Reducer 3 [SIMPLE_EDGE] SHUFFLE [RS_21] PartitionCols:_col1 - Select Operator [SEL_10] (rows=262/319 width=10) + Select Operator [SEL_10] (rows=262/319 width=178) Output:["_col1"] - Group By Operator [GBY_9] (rows=262/319 width=10) + Group By Operator [GBY_9] (rows=262/319 width=178) Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 <-Union 2 [SIMPLE_EDGE] <-Map 1 [CONTAINS] Reduce Output Operator [RS_8] PartitionCols:_col0, _col1 - Group By Operator [GBY_7] (rows=525/331 width=10) + Group By Operator [GBY_7] (rows=262/331 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_1] (rows=25/25 width=7) + Select Operator [SEL_1] (rows=25/25 width=175) Output:["_col0","_col1"] - Filter Operator [FIL_140] (rows=25/25 width=7) + Filter Operator [FIL_140] (rows=25/25 width=175) predicate:value is not null - TableScan [TS_0] (rows=25/25 width=7) + TableScan [TS_0] (rows=25/25 width=175) Output:["key","value"] <-Map 9 [CONTAINS] Reduce Output Operator [RS_8] PartitionCols:_col0, _col1 - Group By Operator [GBY_7] (rows=525/331 width=10) + Group By Operator [GBY_7] (rows=262/331 width=178) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_3] (rows=500/500 width=10) + Select Operator [SEL_3] (rows=500/500 width=178) Output:["_col0","_col1"] - Filter Operator [FIL_141] (rows=500/500 width=10) + Filter Operator [FIL_141] (rows=500/500 width=178) predicate:value is not null - TableScan [TS_2] (rows=500/500 width=10) + TableScan [TS_2] (rows=500/500 width=178) Output:["key","value"] File Output Operator [FS_116] table:{"name:":"default.b"} @@ -4430,29 +1848,29 @@ Stage-4 Reducer 5 File Output Operator [FS_20] table:{"name:":"default.dest1"} - Group By Operator [GBY_18] (rows=1/310 width=96) + Group By Operator [GBY_18] (rows=125/310 width=96) Output:["_col0","_col1"],aggregations:["count(DISTINCT KEY._col1:0._col0)"],keys:KEY._col0 <-Reducer 4 [SIMPLE_EDGE] SHUFFLE [RS_17] PartitionCols:_col0 - Group By Operator [GBY_16] (rows=1/310 width=280) + Group By Operator [GBY_16] (rows=125/310 width=280) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, substr(_col1, 5) - Group By Operator [GBY_13] (rows=1/310 width=272) + Group By Operator [GBY_13] (rows=250/310 width=272) Output:["_col0","_col1"],keys:KEY._col0, KEY._col1 <-Union 3 [SIMPLE_EDGE] <-Map 6 [CONTAINS] Reduce Output Operator [RS_12] PartitionCols:_col0, _col1 - Group By Operator [GBY_11] (rows=1/310 width=272) + Group By Operator [GBY_11] (rows=250/310 width=272) Output:["_col0","_col1"],keys:_col0, _col1 - Select Operator [SEL_7] (rows=500/500 width=10) + Select Operator [SEL_7] (rows=500/500 width=178) Output:["_col0","_col1"] - TableScan [TS_6] (rows=500/500 width=10) + TableScan [TS_6] (rows=500/500 width=178) Output:["key","value"] <-Reducer 2 [CONTAINS] Reduce Output Operator [RS_12] PartitionCols:_col0, _col1 - Group By Operator [GBY_11] (rows=1/310 width=272) + Group By Operator [GBY_11] (rows=250/310 width=272) Output:["_col0","_col1"],keys:_col0, _col1 Select Operator [SEL_5] (rows=1/1 width=272) Output:["_col0","_col1"] @@ -4467,9 +1885,9 @@ Stage-4 default@src,s1,Tbl:COMPLETE,Col:COMPLETE File Output Operator [FS_26] table:{"name:":"default.dest2"} - Select Operator [SEL_25] (rows=1/310 width=456) + Select Operator [SEL_25] (rows=250/310 width=456) Output:["_col0","_col1","_col2"] - Group By Operator [GBY_24] (rows=1/310 width=464) + Group By Operator [GBY_24] (rows=250/310 width=464) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, _col1 Please refer to the previous Group By Operator [GBY_13] Stage-5 @@ -4514,25 +1932,25 @@ Stage-0 Stage-1 Reducer 2 File Output Operator [FS_8] - Select Operator [SEL_7] (rows=4400/4122 width=10) + Select Operator [SEL_7] (rows=594/4122 width=260) Output:["_col0","_col1","_col2"] - Merge Join Operator [MERGEJOIN_9] (rows=4400/4122 width=10) + Merge Join Operator [MERGEJOIN_9] (rows=594/4122 width=260) Conds:RS_3.key=RS_3.key(Unique),RS_3.key=RS_3.key(Unique),RS_3.key=RS_3.key(Unique),Output:["_col0","_col5","_col10"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_3] PartitionCols:key - TableScan [TS_0] (rows=500/500 width=10) - default@src,a,Tbl:COMPLETE,Col:NONE,Output:["key"] + TableScan [TS_0] (rows=500/500 width=87) + default@src,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] <-Map 3 [SIMPLE_EDGE] SHUFFLE [RS_4] PartitionCols:key - TableScan [TS_1] (rows=25/25 width=7) - default@src1,b,Tbl:COMPLETE,Col:NONE,Output:["key"] + TableScan [TS_1] (rows=25/25 width=86) + default@src1,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] <-Map 4 [SIMPLE_EDGE] SHUFFLE [RS_5] PartitionCols:key - TableScan [TS_2] (rows=2000/2000 width=10) - default@srcpart,c,Tbl:COMPLETE,Col:NONE,Output:["key"] + TableScan [TS_2] (rows=2000/2000 width=87) + default@srcpart,c,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] PREHOOK: query: SELECT TRANSFORM(a.key, a.value) USING 'cat' AS (tkey, tvalue) @@ -4573,24 +1991,24 @@ Stage-0 Stage-1 Reducer 2 File Output Operator [FS_9] - Transform Operator [SCR_8] (rows=550/1028 width=10) + Transform Operator [SCR_8] (rows=1219/1028 width=178) command:cat - Merge Join Operator [MERGEJOIN_14] (rows=550/1028 width=10) + Merge Join Operator [MERGEJOIN_14] (rows=1219/1028 width=178) Conds:RS_3.key=RS_5.key(Inner),Output:["_col0","_col1"] <-Map 1 [SIMPLE_EDGE] SHUFFLE [RS_3] PartitionCols:key - Filter Operator [FIL_12] (rows=500/500 width=10) + Filter Operator [FIL_12] (rows=500/500 width=178) predicate:key is not null - TableScan [TS_0] (rows=500/500 width=10) - default@src,a,Tbl:COMPLETE,Col:NONE,Output:["key","value"] + TableScan [TS_0] (rows=500/500 width=178) + default@src,a,Tbl:COMPLETE,Col:COMPLETE,Output:["key","value"] <-Map 3 [SIMPLE_EDGE] SHUFFLE [RS_5] PartitionCols:key - Filter Operator [FIL_13] (rows=500/500 width=10) + Filter Operator [FIL_13] (rows=500/500 width=87) predicate:key is not null - TableScan [TS_1] (rows=500/500 width=10) - default@src,b,Tbl:COMPLETE,Col:NONE,Output:["key"] + TableScan [TS_1] (rows=500/500 width=87) + default@src,b,Tbl:COMPLETE,Col:COMPLETE,Output:["key"] PREHOOK: query: FROM ( select key, value from ( @@ -4668,43 +2086,43 @@ Stage-4 Reducer 4 File Output Operator [FS_20] table:{"name:":"default.dest1"} - Group By Operator [GBY_18] (rows=1/310 width=96) + Group By Operator [GBY_18] (rows=205/310 width=96) Output:["_col0","_col1"],aggregations:["count(DISTINCT KEY._col1:0._col0)"],keys:KEY._col0 <-Union 3 [SIMPLE_EDGE] <-Map 6 [CONTAINS] Reduce Output Operator [RS_17] PartitionCols:_col0 - Group By Operator [GBY_16] (rows=1/619 width=280) + Group By Operator [GBY_16] (rows=500/619 width=280) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, substr(_col1, 5) Select Operator [SEL_9] (rows=501/501 width=272) Output:["_col0","_col1"] - Select Operator [SEL_7] (rows=500/500 width=10) + Select Operator [SEL_7] (rows=500/500 width=266) Output:["_col0","_col1"] - TableScan [TS_6] (rows=500/500 width=10) + TableScan [TS_6] (rows=500/500 width=178) Output:["key","value"] Reduce Output Operator [RS_23] PartitionCols:_col0, _col1 - Group By Operator [GBY_22] (rows=1/619 width=464) + Group By Operator [GBY_22] (rows=1001/619 width=464) Output:["_col0","_col1","_col2","_col3"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, _col1, substr(_col1, 5) Please refer to the previous Select Operator [SEL_9] <-Map 7 [CONTAINS] Reduce Output Operator [RS_17] PartitionCols:_col0 - Group By Operator [GBY_16] (rows=1/619 width=280) + Group By Operator [GBY_16] (rows=500/619 width=280) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, substr(_col1, 5) - Select Operator [SEL_12] (rows=500/500 width=10) + Select Operator [SEL_12] (rows=500/500 width=178) Output:["_col0","_col1"] - TableScan [TS_11] (rows=500/500 width=10) + TableScan [TS_11] (rows=500/500 width=178) Output:["key","value"] Reduce Output Operator [RS_23] PartitionCols:_col0, _col1 - Group By Operator [GBY_22] (rows=1/619 width=464) + Group By Operator [GBY_22] (rows=1001/619 width=464) Output:["_col0","_col1","_col2","_col3"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, _col1, substr(_col1, 5) Please refer to the previous Select Operator [SEL_12] <-Reducer 2 [CONTAINS] Reduce Output Operator [RS_17] PartitionCols:_col0 - Group By Operator [GBY_16] (rows=1/619 width=280) + Group By Operator [GBY_16] (rows=500/619 width=280) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, substr(_col1, 5) Select Operator [SEL_9] (rows=501/501 width=272) Output:["_col0","_col1"] @@ -4721,13 +2139,13 @@ Stage-4 default@src,s1,Tbl:COMPLETE,Col:COMPLETE Reduce Output Operator [RS_23] PartitionCols:_col0, _col1 - Group By Operator [GBY_22] (rows=1/619 width=464) + Group By Operator [GBY_22] (rows=1001/619 width=464) Output:["_col0","_col1","_col2","_col3"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, _col1, substr(_col1, 5) Please refer to the previous Select Operator [SEL_9] Reducer 5 File Output Operator [FS_26] table:{"name:":"default.dest2"} - Group By Operator [GBY_24] (rows=1/310 width=280) + Group By Operator [GBY_24] (rows=1001/310 width=280) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT KEY._col2:0._col0)"],keys:KEY._col0, KEY._col1 <- Please refer to the previous Union 3 [SIMPLE_EDGE] Stage-5 @@ -4800,31 +2218,31 @@ Stage-4 Reducer 4 File Output Operator [FS_15] table:{"name:":"default.dest1"} - Group By Operator [GBY_13] (rows=1/310 width=96) + Group By Operator [GBY_13] (rows=205/310 width=96) Output:["_col0","_col1"],aggregations:["count(DISTINCT KEY._col1:0._col0)"],keys:KEY._col0 <-Union 3 [SIMPLE_EDGE] <-Map 6 [CONTAINS] Reduce Output Operator [RS_12] PartitionCols:_col0 - Group By Operator [GBY_11] (rows=1/310 width=280) + Group By Operator [GBY_11] (rows=250/310 width=280) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, substr(_col1, 5) - Select Operator [SEL_9] (rows=501/501 width=11) + Select Operator [SEL_9] (rows=501/501 width=266) Output:["_col0","_col1"] - Select Operator [SEL_7] (rows=500/500 width=10) + Select Operator [SEL_7] (rows=500/500 width=266) Output:["_col0","_col1"] - TableScan [TS_6] (rows=500/500 width=10) + TableScan [TS_6] (rows=500/500 width=178) Output:["key","value"] Reduce Output Operator [RS_18] PartitionCols:_col0, _col1 - Group By Operator [GBY_17] (rows=1/310 width=464) + Group By Operator [GBY_17] (rows=501/310 width=464) Output:["_col0","_col1","_col2","_col3"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, _col1, substr(_col1, 5) Please refer to the previous Select Operator [SEL_9] <-Reducer 2 [CONTAINS] Reduce Output Operator [RS_12] PartitionCols:_col0 - Group By Operator [GBY_11] (rows=1/310 width=280) + Group By Operator [GBY_11] (rows=250/310 width=280) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, substr(_col1, 5) - Select Operator [SEL_9] (rows=501/501 width=11) + Select Operator [SEL_9] (rows=501/501 width=266) Output:["_col0","_col1"] Select Operator [SEL_5] (rows=1/1 width=360) Output:["_col0","_col1"] @@ -4839,13 +2257,13 @@ Stage-4 default@src,s1,Tbl:COMPLETE,Col:COMPLETE Reduce Output Operator [RS_18] PartitionCols:_col0, _col1 - Group By Operator [GBY_17] (rows=1/310 width=464) + Group By Operator [GBY_17] (rows=501/310 width=464) Output:["_col0","_col1","_col2","_col3"],aggregations:["count(DISTINCT substr(_col1, 5))"],keys:_col0, _col1, substr(_col1, 5) Please refer to the previous Select Operator [SEL_9] Reducer 5 File Output Operator [FS_21] table:{"name:":"default.dest2"} - Group By Operator [GBY_19] (rows=1/310 width=280) + Group By Operator [GBY_19] (rows=501/310 width=280) Output:["_col0","_col1","_col2"],aggregations:["count(DISTINCT KEY._col2:0._col0)"],keys:KEY._col0, KEY._col1 <- Please refer to the previous Union 3 [SIMPLE_EDGE] Stage-5