| PREHOOK: query: create table t_n8 (a int, b int) |
| PREHOOK: type: CREATETABLE |
| PREHOOK: Output: database:default |
| PREHOOK: Output: default@t_n8 |
| POSTHOOK: query: create table t_n8 (a int, b int) |
| POSTHOOK: type: CREATETABLE |
| POSTHOOK: Output: database:default |
| POSTHOOK: Output: default@t_n8 |
| PREHOOK: query: insert into t_n8 values (1,2),(2,1),(3,4),(4,3),(3,3),(null,null),(null,1),(2,null) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: _dummy_database@_dummy_table |
| PREHOOK: Output: default@t_n8 |
| POSTHOOK: query: insert into t_n8 values (1,2),(2,1),(3,4),(4,3),(3,3),(null,null),(null,1),(2,null) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: _dummy_database@_dummy_table |
| POSTHOOK: Output: default@t_n8 |
| POSTHOOK: Lineage: t_n8.a SCRIPT [] |
| POSTHOOK: Lineage: t_n8.b SCRIPT [] |
| PREHOOK: query: explain select * from t_n8 t1 join t_n8 t2 using (a) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: explain select * from t_n8 t1 join t_n8 t2 using (a) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 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: |
| Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE) |
| #### A masked pattern was here #### |
| Vertices: |
| Map 1 |
| Map Operator Tree: |
| TableScan |
| alias: t1 |
| filterExpr: a is not null (type: boolean) |
| Statistics: Num rows: 8 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE |
| Filter Operator |
| predicate: a is not null (type: boolean) |
| Statistics: Num rows: 6 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: a (type: int), b (type: int) |
| outputColumnNames: _col0, _col1 |
| Statistics: Num rows: 6 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: int) |
| null sort order: z |
| sort order: + |
| Map-reduce partition columns: _col0 (type: int) |
| Statistics: Num rows: 6 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| value expressions: _col1 (type: int) |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Map 3 |
| Map Operator Tree: |
| TableScan |
| alias: t2 |
| filterExpr: a is not null (type: boolean) |
| Statistics: Num rows: 8 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE |
| Filter Operator |
| predicate: a is not null (type: boolean) |
| Statistics: Num rows: 6 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: a (type: int), b (type: int) |
| outputColumnNames: _col0, _col1 |
| Statistics: Num rows: 6 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| Reduce Output Operator |
| key expressions: _col0 (type: int) |
| null sort order: z |
| sort order: + |
| Map-reduce partition columns: _col0 (type: int) |
| Statistics: Num rows: 6 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE |
| value expressions: _col1 (type: int) |
| Execution mode: vectorized, llap |
| LLAP IO: all inputs |
| Reducer 2 |
| Execution mode: llap |
| Reduce Operator Tree: |
| Merge Join Operator |
| condition map: |
| Inner Join 0 to 1 |
| keys: |
| 0 _col0 (type: int) |
| 1 _col0 (type: int) |
| outputColumnNames: _col0, _col1, _col3 |
| Statistics: Num rows: 9 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE |
| Select Operator |
| expressions: _col0 (type: int), _col1 (type: int), _col3 (type: int) |
| outputColumnNames: _col0, _col1, _col2 |
| Statistics: Num rows: 9 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE |
| File Output Operator |
| compressed: false |
| Statistics: Num rows: 9 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE |
| table: |
| input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
| output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
| serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| |
| Stage: Stage-0 |
| Fetch Operator |
| limit: -1 |
| Processor Tree: |
| ListSink |
| |
| PREHOOK: query: select * from t_n8 t1 join t_n8 t2 using (a) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from t_n8 t1 join t_n8 t2 using (a) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 2 |
| 2 1 1 |
| 2 1 NULL |
| 2 NULL 1 |
| 2 NULL NULL |
| 3 3 3 |
| 3 3 4 |
| 3 4 3 |
| 3 4 4 |
| 4 3 3 |
| PREHOOK: query: select * from t_n8 t1 join t_n8 t2 using (a,b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from t_n8 t1 join t_n8 t2 using (a,b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 |
| 2 1 |
| 3 3 |
| 3 4 |
| 4 3 |
| PREHOOK: query: select t1.a,t2.b,t1.b,t2.a from t_n8 t1 join t_n8 t2 using (a) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select t1.a,t2.b,t1.b,t2.a from t_n8 t1 join t_n8 t2 using (a) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 2 1 |
| 2 1 1 2 |
| 2 1 NULL 2 |
| 2 NULL 1 2 |
| 2 NULL NULL 2 |
| 3 3 3 3 |
| 3 3 4 3 |
| 3 4 3 3 |
| 3 4 4 3 |
| 4 3 3 4 |
| PREHOOK: query: select * from t_n8 t1 left outer join t_n8 t2 using (a,b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from t_n8 t1 left outer join t_n8 t2 using (a,b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 |
| 2 1 |
| 2 NULL |
| 3 3 |
| 3 4 |
| 4 3 |
| NULL 1 |
| NULL NULL |
| PREHOOK: query: select t1.a,t1.b from t_n8 t1 right outer join t_n8 t2 on (t1.a=t2.a and t1.b=t2.b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select t1.a,t1.b from t_n8 t1 right outer join t_n8 t2 on (t1.a=t2.a and t1.b=t2.b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 |
| 2 1 |
| 3 3 |
| 3 4 |
| 4 3 |
| NULL NULL |
| NULL NULL |
| NULL NULL |
| PREHOOK: query: select * from t_n8 t1 right outer join t_n8 t2 using (a,b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from t_n8 t1 right outer join t_n8 t2 using (a,b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 |
| 2 1 |
| 2 NULL |
| 3 3 |
| 3 4 |
| 4 3 |
| NULL 1 |
| NULL NULL |
| PREHOOK: query: select * from t_n8 t1 inner join t_n8 t2 using (a,b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from t_n8 t1 inner join t_n8 t2 using (a,b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 |
| 2 1 |
| 3 3 |
| 3 4 |
| 4 3 |
| PREHOOK: query: select * from t_n8 t1 left outer join t_n8 t2 using (b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from t_n8 t1 left outer join t_n8 t2 using (b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 2 |
| 1 2 NULL |
| 1 NULL 2 |
| 1 NULL NULL |
| 2 1 1 |
| 3 3 3 |
| 3 3 4 |
| 3 4 3 |
| 3 4 4 |
| 4 3 3 |
| NULL 2 NULL |
| NULL NULL NULL |
| PREHOOK: query: select * from t_n8 t1 right outer join t_n8 t2 using (b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from t_n8 t1 right outer join t_n8 t2 using (b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 2 |
| 1 2 NULL |
| 1 NULL 2 |
| 1 NULL NULL |
| 2 1 1 |
| 3 3 3 |
| 3 3 4 |
| 3 4 3 |
| 3 4 4 |
| 4 3 3 |
| NULL NULL 2 |
| NULL NULL NULL |
| PREHOOK: query: select * from t_n8 t1 inner join t_n8 t2 using (b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from t_n8 t1 inner join t_n8 t2 using (b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 2 |
| 1 2 NULL |
| 1 NULL 2 |
| 1 NULL NULL |
| 2 1 1 |
| 3 3 3 |
| 3 3 4 |
| 3 4 3 |
| 3 4 4 |
| 4 3 3 |
| PREHOOK: query: drop view v_n4 |
| PREHOOK: type: DROPVIEW |
| POSTHOOK: query: drop view v_n4 |
| POSTHOOK: type: DROPVIEW |
| PREHOOK: query: create view v_n4 as select * from t_n8 t1 join t_n8 t2 using (a,b) |
| PREHOOK: type: CREATEVIEW |
| PREHOOK: Input: default@t_n8 |
| PREHOOK: Output: database:default |
| PREHOOK: Output: default@v_n4 |
| POSTHOOK: query: create view v_n4 as select * from t_n8 t1 join t_n8 t2 using (a,b) |
| POSTHOOK: type: CREATEVIEW |
| POSTHOOK: Input: default@t_n8 |
| POSTHOOK: Output: database:default |
| POSTHOOK: Output: default@v_n4 |
| POSTHOOK: Lineage: v_n4.a SIMPLE [(t_n8)t1.FieldSchema(name:a, type:int, comment:null), ] |
| POSTHOOK: Lineage: v_n4.b SIMPLE [(t_n8)t1.FieldSchema(name:b, type:int, comment:null), ] |
| PREHOOK: query: desc formatted v_n4 |
| PREHOOK: type: DESCTABLE |
| PREHOOK: Input: default@v_n4 |
| POSTHOOK: query: desc formatted v_n4 |
| POSTHOOK: type: DESCTABLE |
| POSTHOOK: Input: default@v_n4 |
| # col_name data_type comment |
| a int |
| b int |
| |
| # Detailed Table Information |
| Database: default |
| #### A masked pattern was here #### |
| Retention: 0 |
| Table Type: VIRTUAL_VIEW |
| Table Parameters: |
| bucketing_version 2 |
| #### A masked pattern was here #### |
| |
| # Storage Information |
| SerDe Library: null |
| InputFormat: org.apache.hadoop.mapred.TextInputFormat |
| OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat |
| Compressed: No |
| Num Buckets: -1 |
| Bucket Columns: [] |
| Sort Columns: [] |
| |
| # View Information |
| Original Query: select * from t_n8 t1 join t_n8 t2 using (a,b) |
| Expanded Query: select `t1`.`a`, `t1`.`b` from `default`.`t_n8` `t1` join `default`.`t_n8` `t2` using (`a`,`b`) |
| PREHOOK: query: select * from v_n4 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| PREHOOK: Input: default@v_n4 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from v_n4 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| POSTHOOK: Input: default@v_n4 |
| #### A masked pattern was here #### |
| 1 2 |
| 2 1 |
| 3 3 |
| 3 4 |
| 4 3 |
| PREHOOK: query: drop view v_n4 |
| PREHOOK: type: DROPVIEW |
| PREHOOK: Input: default@v_n4 |
| PREHOOK: Output: default@v_n4 |
| POSTHOOK: query: drop view v_n4 |
| POSTHOOK: type: DROPVIEW |
| POSTHOOK: Input: default@v_n4 |
| POSTHOOK: Output: default@v_n4 |
| PREHOOK: query: create view v_n4 as select * from t_n8 t1 right outer join t_n8 t2 using (b,a) |
| PREHOOK: type: CREATEVIEW |
| PREHOOK: Input: default@t_n8 |
| PREHOOK: Output: database:default |
| PREHOOK: Output: default@v_n4 |
| POSTHOOK: query: create view v_n4 as select * from t_n8 t1 right outer join t_n8 t2 using (b,a) |
| POSTHOOK: type: CREATEVIEW |
| POSTHOOK: Input: default@t_n8 |
| POSTHOOK: Output: database:default |
| POSTHOOK: Output: default@v_n4 |
| POSTHOOK: Lineage: v_n4.a SIMPLE [(t_n8)t2.FieldSchema(name:a, type:int, comment:null), ] |
| POSTHOOK: Lineage: v_n4.b SIMPLE [(t_n8)t2.FieldSchema(name:b, type:int, comment:null), ] |
| PREHOOK: query: desc formatted v_n4 |
| PREHOOK: type: DESCTABLE |
| PREHOOK: Input: default@v_n4 |
| POSTHOOK: query: desc formatted v_n4 |
| POSTHOOK: type: DESCTABLE |
| POSTHOOK: Input: default@v_n4 |
| # col_name data_type comment |
| b int |
| a int |
| |
| # Detailed Table Information |
| Database: default |
| #### A masked pattern was here #### |
| Retention: 0 |
| Table Type: VIRTUAL_VIEW |
| Table Parameters: |
| bucketing_version 2 |
| #### A masked pattern was here #### |
| |
| # Storage Information |
| SerDe Library: null |
| InputFormat: org.apache.hadoop.mapred.TextInputFormat |
| OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat |
| Compressed: No |
| Num Buckets: -1 |
| Bucket Columns: [] |
| Sort Columns: [] |
| |
| # View Information |
| Original Query: select * from t_n8 t1 right outer join t_n8 t2 using (b,a) |
| Expanded Query: select `t2`.`b`, `t2`.`a` from `default`.`t_n8` `t1` right outer join `default`.`t_n8` `t2` using (`b`,`a`) |
| PREHOOK: query: select * from v_n4 |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| PREHOOK: Input: default@v_n4 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from v_n4 |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| POSTHOOK: Input: default@v_n4 |
| #### A masked pattern was here #### |
| 1 2 |
| 1 NULL |
| 2 1 |
| 3 3 |
| 3 4 |
| 4 3 |
| NULL 2 |
| NULL NULL |
| PREHOOK: query: select * from (select t1.b b from t_n8 t1 inner join t_n8 t2 using (b)) t3 join t_n8 t4 using(b) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from (select t1.b b from t_n8 t1 inner join t_n8 t2 using (b)) t3 join t_n8 t4 using(b) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 |
| 1 2 |
| 1 2 |
| 1 2 |
| 1 NULL |
| 1 NULL |
| 1 NULL |
| 1 NULL |
| 2 1 |
| 3 3 |
| 3 3 |
| 3 3 |
| 3 3 |
| 3 4 |
| 3 4 |
| 3 4 |
| 3 4 |
| 4 3 |
| PREHOOK: query: select * from (select t2.a a from t_n8 t1 inner join t_n8 t2 using (b)) t3 join t_n8 t4 using(a) |
| PREHOOK: type: QUERY |
| PREHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| POSTHOOK: query: select * from (select t2.a a from t_n8 t1 inner join t_n8 t2 using (b)) t3 join t_n8 t4 using(a) |
| POSTHOOK: type: QUERY |
| POSTHOOK: Input: default@t_n8 |
| #### A masked pattern was here #### |
| 1 2 |
| 2 1 |
| 2 1 |
| 2 NULL |
| 2 NULL |
| 3 3 |
| 3 3 |
| 3 3 |
| 3 4 |
| 3 4 |
| 3 4 |
| 4 3 |
| 4 3 |
| PREHOOK: query: create table tt_n0 as select * from (select t2.a a from t_n8 t1 inner join t_n8 t2 using (b)) t3 join t_n8 t4 using(a) |
| PREHOOK: type: CREATETABLE_AS_SELECT |
| PREHOOK: Input: default@t_n8 |
| PREHOOK: Output: database:default |
| PREHOOK: Output: default@tt_n0 |
| POSTHOOK: query: create table tt_n0 as select * from (select t2.a a from t_n8 t1 inner join t_n8 t2 using (b)) t3 join t_n8 t4 using(a) |
| POSTHOOK: type: CREATETABLE_AS_SELECT |
| POSTHOOK: Input: default@t_n8 |
| POSTHOOK: Output: database:default |
| POSTHOOK: Output: default@tt_n0 |
| POSTHOOK: Lineage: tt_n0.a SIMPLE [(t_n8)t2.FieldSchema(name:a, type:int, comment:null), ] |
| POSTHOOK: Lineage: tt_n0.b SIMPLE [(t_n8)t4.FieldSchema(name:b, type:int, comment:null), ] |
| PREHOOK: query: desc formatted tt_n0 |
| PREHOOK: type: DESCTABLE |
| PREHOOK: Input: default@tt_n0 |
| POSTHOOK: query: desc formatted tt_n0 |
| POSTHOOK: type: DESCTABLE |
| POSTHOOK: Input: default@tt_n0 |
| # col_name data_type comment |
| a int |
| b int |
| |
| # Detailed Table Information |
| Database: default |
| #### A masked pattern was here #### |
| Retention: 0 |
| #### A masked pattern was here #### |
| Table Type: MANAGED_TABLE |
| Table Parameters: |
| COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"a\":\"true\",\"b\":\"true\"}} |
| bucketing_version 2 |
| numFiles 1 |
| numRows 13 |
| rawDataSize 41 |
| totalSize 54 |
| #### A masked pattern was here #### |
| |
| # Storage Information |
| SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
| InputFormat: org.apache.hadoop.mapred.TextInputFormat |
| OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat |
| Compressed: No |
| Num Buckets: -1 |
| Bucket Columns: [] |
| Sort Columns: [] |
| Storage Desc Params: |
| serialization.format 1 |