PREHOOK: query: CREATE TABLE T1(key INT, val STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE T1(key INT, val STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T1 PREHOOK: query: LOAD DATA LOCAL INPATH '../data/files/kv1.txt' INTO TABLE T1 PREHOOK: type: LOAD PREHOOK: Output: default@t1 POSTHOOK: query: LOAD DATA LOCAL INPATH '../data/files/kv1.txt' INTO TABLE T1 POSTHOOK: type: LOAD POSTHOOK: Output: default@t1 PREHOOK: query: CREATE TABLE T2(key INT, val STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE T2(key INT, val STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T2 PREHOOK: query: LOAD DATA LOCAL INPATH '../data/files/kv2.txt' INTO TABLE T2 PREHOOK: type: LOAD PREHOOK: Output: default@t2 POSTHOOK: query: LOAD DATA LOCAL INPATH '../data/files/kv2.txt' INTO TABLE T2 POSTHOOK: type: LOAD POSTHOOK: Output: default@t2 PREHOOK: query: CREATE TABLE T3(key INT, val STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE T3(key INT, val STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T3 PREHOOK: query: LOAD DATA LOCAL INPATH '../data/files/kv3.txt' INTO TABLE T3 PREHOOK: type: LOAD PREHOOK: Output: default@t3 POSTHOOK: query: LOAD DATA LOCAL INPATH '../data/files/kv3.txt' INTO TABLE T3 POSTHOOK: type: LOAD POSTHOOK: Output: default@t3 PREHOOK: query: CREATE TABLE T4(key INT, val STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE T4(key INT, val STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@T4 PREHOOK: query: LOAD DATA LOCAL INPATH '../data/files/kv5.txt' INTO TABLE T4 PREHOOK: type: LOAD PREHOOK: Output: default@t4 POSTHOOK: query: LOAD DATA LOCAL INPATH '../data/files/kv5.txt' INTO TABLE T4 POSTHOOK: type: LOAD POSTHOOK: Output: default@t4 PREHOOK: query: CREATE TABLE dest_co1(key INT, val STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE dest_co1(key INT, val STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_co1 PREHOOK: query: CREATE TABLE dest_co2(key INT, val STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE dest_co2(key INT, val STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_co2 PREHOOK: query: CREATE TABLE dest_co3(key INT, val STRING) PREHOOK: type: CREATETABLE POSTHOOK: query: CREATE TABLE dest_co3(key INT, val STRING) POSTHOOK: type: CREATETABLE POSTHOOK: Output: default@dest_co3 PREHOOK: query: -- When Correlation Optimizer is turned off, 3 MR jobs are needed. -- When Correlation Optimizer is turned on, only a single MR job is needed. EXPLAIN INSERT OVERWRITE TABLE dest_co1 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key PREHOOK: type: QUERY POSTHOOK: query: -- When Correlation Optimizer is turned off, 3 MR jobs are needed. -- When Correlation Optimizer is turned on, only a single MR job is needed. EXPLAIN INSERT OVERWRITE TABLE dest_co1 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key POSTHOOK: type: QUERY ABSTRACT SYNTAX TREE: (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME T1) x) (TOK_TABREF (TOK_TABNAME T2) y) (= (. (TOK_TABLE_OR_COL x) key) (. (TOK_TABLE_OR_COL y) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) val))))) b) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME T3) m) (TOK_TABREF (TOK_TABNAME T4) n) (= (. (TOK_TABLE_OR_COL m) key) (. (TOK_TABLE_OR_COL n) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL m) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL n) val))))) d) (= (. (TOK_TABLE_OR_COL b) key) (. (TOK_TABLE_OR_COL d) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME dest_co1))) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL d) val))))) STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1, Stage-4 Stage-0 depends on stages: Stage-2 Stage-3 depends on stages: Stage-0 Stage-4 is a root stage STAGE PLANS: Stage: Stage-1 Map Reduce Alias -> Map Operator Tree: d:m TableScan alias: m Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 0 value expressions: expr: key type: int d:n TableScan alias: n Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 1 value expressions: expr: val type: string Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 {VALUE._col1} handleSkewJoin: false outputColumnNames: _col0, _col5 Select Operator expressions: expr: _col0 type: int expr: _col5 type: string outputColumnNames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 0 table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat Stage: Stage-2 Map Reduce Alias -> Map Operator Tree: $INTNAME Reduce Output Operator key expressions: expr: _col0 type: int sort order: + Map-reduce partition columns: expr: _col0 type: int tag: 1 value expressions: expr: _col1 type: string $INTNAME1 Reduce Output Operator key expressions: expr: _col0 type: int sort order: + Map-reduce partition columns: expr: _col0 type: int tag: 0 value expressions: expr: _col0 type: int Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 {VALUE._col1} handleSkewJoin: false outputColumnNames: _col0, _col3 Select Operator expressions: expr: _col0 type: int expr: _col3 type: string outputColumnNames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 1 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.dest_co1 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.dest_co1 Stage: Stage-3 Stats-Aggr Operator Stage: Stage-4 Map Reduce Alias -> Map Operator Tree: b:x TableScan alias: x Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 0 value expressions: expr: key type: int b:y TableScan alias: y Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 1 Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 handleSkewJoin: false outputColumnNames: _col0 Select Operator expressions: expr: _col0 type: int outputColumnNames: _col0 File Output Operator compressed: false GlobalTableId: 0 table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat PREHOOK: query: INSERT OVERWRITE TABLE dest_co1 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 PREHOOK: Input: default@t3 PREHOOK: Input: default@t4 PREHOOK: Output: default@dest_co1 POSTHOOK: query: INSERT OVERWRITE TABLE dest_co1 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 POSTHOOK: Input: default@t2 POSTHOOK: Input: default@t3 POSTHOOK: Input: default@t4 POSTHOOK: Output: default@dest_co1 POSTHOOK: Lineage: dest_co1.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co1.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] PREHOOK: query: EXPLAIN INSERT OVERWRITE TABLE dest_co2 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN INSERT OVERWRITE TABLE dest_co2 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key POSTHOOK: type: QUERY POSTHOOK: Lineage: dest_co1.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co1.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] ABSTRACT SYNTAX TREE: (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME T1) x) (TOK_TABREF (TOK_TABNAME T2) y) (= (. (TOK_TABLE_OR_COL x) key) (. (TOK_TABLE_OR_COL y) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) val))))) b) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME T3) m) (TOK_TABREF (TOK_TABNAME T4) n) (= (. (TOK_TABLE_OR_COL m) key) (. (TOK_TABLE_OR_COL n) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL m) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL n) val))))) d) (= (. (TOK_TABLE_OR_COL b) key) (. (TOK_TABLE_OR_COL d) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME dest_co2))) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL d) val))))) STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 Stage-2 depends on stages: Stage-0 STAGE PLANS: Stage: Stage-1 Map Reduce Alias -> Map Operator Tree: b:x TableScan alias: x Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 0 value expressions: expr: key type: int b:y TableScan alias: y Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 1 d:m TableScan alias: m Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 2 value expressions: expr: key type: int d:n TableScan alias: n Reduce Output Operator key expressions: expr: key type: int sort order: + Map-reduce partition columns: expr: key type: int tag: 3 value expressions: expr: val type: string Reduce Operator Tree: Demux Operator Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 handleSkewJoin: false outputColumnNames: _col0 Select Operator expressions: expr: _col0 type: int outputColumnNames: _col0 Mux Operator Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 {VALUE._col1} handleSkewJoin: false outputColumnNames: _col0, _col3 Select Operator expressions: expr: _col0 type: int expr: _col3 type: string outputColumnNames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 1 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.dest_co2 Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 {VALUE._col1} handleSkewJoin: false outputColumnNames: _col0, _col5 Select Operator expressions: expr: _col0 type: int expr: _col5 type: string outputColumnNames: _col0, _col1 Mux Operator Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 {VALUE._col1} handleSkewJoin: false outputColumnNames: _col0, _col3 Select Operator expressions: expr: _col0 type: int expr: _col3 type: string outputColumnNames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 1 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.dest_co2 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.dest_co2 Stage: Stage-2 Stats-Aggr Operator PREHOOK: query: INSERT OVERWRITE TABLE dest_co2 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 PREHOOK: Input: default@t3 PREHOOK: Input: default@t4 PREHOOK: Output: default@dest_co2 POSTHOOK: query: INSERT OVERWRITE TABLE dest_co2 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 POSTHOOK: Input: default@t2 POSTHOOK: Input: default@t3 POSTHOOK: Input: default@t4 POSTHOOK: Output: default@dest_co2 POSTHOOK: Lineage: dest_co1.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co1.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co2.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co2.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] PREHOOK: query: -- Enable hive.auto.convert.join. EXPLAIN INSERT OVERWRITE TABLE dest_co3 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key PREHOOK: type: QUERY POSTHOOK: query: -- Enable hive.auto.convert.join. EXPLAIN INSERT OVERWRITE TABLE dest_co3 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key POSTHOOK: type: QUERY POSTHOOK: Lineage: dest_co1.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co1.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co2.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co2.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] ABSTRACT SYNTAX TREE: (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME T1) x) (TOK_TABREF (TOK_TABNAME T2) y) (= (. (TOK_TABLE_OR_COL x) key) (. (TOK_TABLE_OR_COL y) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL x) val))))) b) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME T3) m) (TOK_TABREF (TOK_TABNAME T4) n) (= (. (TOK_TABLE_OR_COL m) key) (. (TOK_TABLE_OR_COL n) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL m) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL n) val))))) d) (= (. (TOK_TABLE_OR_COL b) key) (. (TOK_TABLE_OR_COL d) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME dest_co3))) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL d) val))))) STAGE DEPENDENCIES: Stage-14 is a root stage Stage-10 depends on stages: Stage-14 Stage-9 depends on stages: Stage-10, Stage-11 , consists of Stage-12, Stage-13, Stage-2 Stage-12 has a backup stage: Stage-2 Stage-7 depends on stages: Stage-12 Stage-0 depends on stages: Stage-2, Stage-7, Stage-8 Stage-3 depends on stages: Stage-0 Stage-13 has a backup stage: Stage-2 Stage-8 depends on stages: Stage-13 Stage-2 Stage-15 is a root stage Stage-11 depends on stages: Stage-15 STAGE PLANS: Stage: Stage-14 Map Reduce Local Work Alias -> Map Local Tables: d:m Fetch Operator limit: -1 Alias -> Map Local Operator Tree: d:m TableScan alias: m HashTable Sink Operator condition expressions: 0 {key} 1 {val} handleSkewJoin: false keys: 0 [Column[key]] 1 [Column[key]] Position of Big Table: 1 Stage: Stage-10 Map Reduce Alias -> Map Operator Tree: d:n TableScan alias: n Map Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {key} 1 {val} handleSkewJoin: false keys: 0 [Column[key]] 1 [Column[key]] outputColumnNames: _col0, _col5 Position of Big Table: 1 Select Operator expressions: expr: _col0 type: int expr: _col5 type: string outputColumnNames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 0 table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat Local Work: Map Reduce Local Work Stage: Stage-9 Conditional Operator Stage: Stage-12 Map Reduce Local Work Alias -> Map Local Tables: $INTNAME Fetch Operator limit: -1 Alias -> Map Local Operator Tree: $INTNAME HashTable Sink Operator condition expressions: 0 {_col0} 1 {_col1} handleSkewJoin: false keys: 0 [Column[_col0]] 1 [Column[_col0]] Position of Big Table: 0 Stage: Stage-7 Map Reduce Alias -> Map Operator Tree: $INTNAME1 Map Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {_col0} 1 {_col1} handleSkewJoin: false keys: 0 [Column[_col0]] 1 [Column[_col0]] outputColumnNames: _col0, _col3 Position of Big Table: 0 Select Operator expressions: expr: _col0 type: int expr: _col3 type: string outputColumnNames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 1 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.dest_co3 Local Work: Map Reduce Local Work 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.dest_co3 Stage: Stage-3 Stats-Aggr Operator Stage: Stage-13 Map Reduce Local Work Alias -> Map Local Tables: $INTNAME1 Fetch Operator limit: -1 Alias -> Map Local Operator Tree: $INTNAME1 HashTable Sink Operator condition expressions: 0 {_col0} 1 {_col1} handleSkewJoin: false keys: 0 [Column[_col0]] 1 [Column[_col0]] Position of Big Table: 1 Stage: Stage-8 Map Reduce Alias -> Map Operator Tree: $INTNAME Map Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {_col0} 1 {_col1} handleSkewJoin: false keys: 0 [Column[_col0]] 1 [Column[_col0]] outputColumnNames: _col0, _col3 Position of Big Table: 1 Select Operator expressions: expr: _col0 type: int expr: _col3 type: string outputColumnNames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 1 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.dest_co3 Local Work: Map Reduce Local Work Stage: Stage-2 Map Reduce Alias -> Map Operator Tree: $INTNAME Reduce Output Operator key expressions: expr: _col0 type: int sort order: + Map-reduce partition columns: expr: _col0 type: int tag: 1 value expressions: expr: _col1 type: string $INTNAME1 Reduce Output Operator key expressions: expr: _col0 type: int sort order: + Map-reduce partition columns: expr: _col0 type: int tag: 0 value expressions: expr: _col0 type: int Reduce Operator Tree: Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {VALUE._col0} 1 {VALUE._col1} handleSkewJoin: false outputColumnNames: _col0, _col3 Select Operator expressions: expr: _col0 type: int expr: _col3 type: string outputColumnNames: _col0, _col1 File Output Operator compressed: false GlobalTableId: 1 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.dest_co3 Stage: Stage-15 Map Reduce Local Work Alias -> Map Local Tables: b:y Fetch Operator limit: -1 Alias -> Map Local Operator Tree: b:y TableScan alias: y HashTable Sink Operator condition expressions: 0 {key} 1 handleSkewJoin: false keys: 0 [Column[key]] 1 [Column[key]] Position of Big Table: 0 Stage: Stage-11 Map Reduce Alias -> Map Operator Tree: b:x TableScan alias: x Map Join Operator condition map: Inner Join 0 to 1 condition expressions: 0 {key} 1 handleSkewJoin: false keys: 0 [Column[key]] 1 [Column[key]] outputColumnNames: _col0 Position of Big Table: 0 Select Operator expressions: expr: _col0 type: int outputColumnNames: _col0 File Output Operator compressed: false GlobalTableId: 0 table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat Local Work: Map Reduce Local Work PREHOOK: query: INSERT OVERWRITE TABLE dest_co3 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 PREHOOK: Input: default@t3 PREHOOK: Input: default@t4 PREHOOK: Output: default@dest_co3 POSTHOOK: query: INSERT OVERWRITE TABLE dest_co3 SELECT b.key, d.val FROM (SELECT x.key, x.val FROM T1 x JOIN T2 y ON (x.key = y.key)) b JOIN (SELECT m.key, n.val FROM T3 m JOIN T4 n ON (m.key = n.key)) d ON b.key = d.key POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 POSTHOOK: Input: default@t2 POSTHOOK: Input: default@t3 POSTHOOK: Input: default@t4 POSTHOOK: Output: default@dest_co3 POSTHOOK: Lineage: dest_co1.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co1.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co2.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co2.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co3.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co3.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] PREHOOK: query: -- dest_co1, dest_co2 and dest_co3 should be same -- SELECT * FROM dest_co1 x ORDER BY x.key, x.val; -- SELECT * FROM dest_co2 x ORDER BY x.key, x.val; SELECT SUM(HASH(key)), SUM(HASH(val)) FROM dest_co1 PREHOOK: type: QUERY PREHOOK: Input: default@dest_co1 #### A masked pattern was here #### POSTHOOK: query: -- dest_co1, dest_co2 and dest_co3 should be same -- SELECT * FROM dest_co1 x ORDER BY x.key, x.val; -- SELECT * FROM dest_co2 x ORDER BY x.key, x.val; SELECT SUM(HASH(key)), SUM(HASH(val)) FROM dest_co1 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_co1 #### A masked pattern was here #### POSTHOOK: Lineage: dest_co1.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co1.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co2.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co2.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co3.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co3.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] 8409 7619696771 PREHOOK: query: SELECT SUM(HASH(key)), SUM(HASH(val)) FROM dest_co2 PREHOOK: type: QUERY PREHOOK: Input: default@dest_co2 #### A masked pattern was here #### POSTHOOK: query: SELECT SUM(HASH(key)), SUM(HASH(val)) FROM dest_co2 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_co2 #### A masked pattern was here #### POSTHOOK: Lineage: dest_co1.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co1.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co2.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co2.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co3.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co3.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] 8409 7619696771 PREHOOK: query: SELECT SUM(HASH(key)), SUM(HASH(val)) FROM dest_co3 PREHOOK: type: QUERY PREHOOK: Input: default@dest_co3 #### A masked pattern was here #### POSTHOOK: query: SELECT SUM(HASH(key)), SUM(HASH(val)) FROM dest_co3 POSTHOOK: type: QUERY POSTHOOK: Input: default@dest_co3 #### A masked pattern was here #### POSTHOOK: Lineage: dest_co1.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co1.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co2.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co2.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] POSTHOOK: Lineage: dest_co3.key EXPRESSION [(t1)x.FieldSchema(name:key, type:int, comment:null), ] POSTHOOK: Lineage: dest_co3.val SIMPLE [(t4)n.FieldSchema(name:val, type:string, comment:null), ] 8409 7619696771