PREHOOK: query: drop table x PREHOOK: type: DROPTABLE POSTHOOK: query: drop table x POSTHOOK: type: DROPTABLE PREHOOK: query: drop table y PREHOOK: type: DROPTABLE POSTHOOK: query: drop table y POSTHOOK: type: DROPTABLE PREHOOK: query: drop table z PREHOOK: type: DROPTABLE POSTHOOK: query: drop table z POSTHOOK: type: DROPTABLE PREHOOK: query: CREATE TABLE x (name STRING, id INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@x POSTHOOK: query: CREATE TABLE x (name STRING, id INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@x PREHOOK: query: CREATE TABLE y (id INT, name STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@y POSTHOOK: query: CREATE TABLE y (id INT, name STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@y PREHOOK: query: CREATE TABLE z (id INT, name STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@z POSTHOOK: query: CREATE TABLE z (id INT, name STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@z PREHOOK: query: load data local inpath '../../data/files/x.txt' INTO TABLE x PREHOOK: type: LOAD #### A masked pattern was here #### PREHOOK: Output: default@x POSTHOOK: query: load data local inpath '../../data/files/x.txt' INTO TABLE x POSTHOOK: type: LOAD #### A masked pattern was here #### POSTHOOK: Output: default@x PREHOOK: query: load data local inpath '../../data/files/y.txt' INTO TABLE y PREHOOK: type: LOAD #### A masked pattern was here #### PREHOOK: Output: default@y POSTHOOK: query: load data local inpath '../../data/files/y.txt' INTO TABLE y POSTHOOK: type: LOAD #### A masked pattern was here #### POSTHOOK: Output: default@y PREHOOK: query: load data local inpath '../../data/files/z.txt' INTO TABLE z PREHOOK: type: LOAD #### A masked pattern was here #### PREHOOK: Output: default@z POSTHOOK: query: load data local inpath '../../data/files/z.txt' INTO TABLE z POSTHOOK: type: LOAD #### A masked pattern was here #### POSTHOOK: Output: default@z PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin EXPLAIN SELECT subq.key1, subq.value1, subq.key2, subq.value2, z.id, z.name FROM (SELECT x.id as key1, x.name as value1, y.id as key2, y.name as value2 FROM y JOIN x ON (x.id = y.id)) subq JOIN z ON (subq.key1 = z.id) PREHOOK: type: QUERY POSTHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin EXPLAIN SELECT subq.key1, subq.value1, subq.key2, subq.value2, z.id, z.name FROM (SELECT x.id as key1, x.name as value1, y.id as key2, y.name as value2 FROM y JOIN x ON (x.id = y.id)) subq JOIN z ON (subq.key1 = z.id) POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-7 is a root stage Stage-5 depends on stages: Stage-7 Stage-0 depends on stages: Stage-5 STAGE PLANS: Stage: Stage-7 Map Reduce Local Work Alias -> Map Local Tables: subq:y Fetch Operator limit: -1 z Fetch Operator limit: -1 Alias -> Map Local Operator Tree: subq:y TableScan alias: y Statistics: Num rows: 0 Data size: 6 Basic stats: PARTIAL Column stats: NONE Filter Operator predicate: id is not null (type: boolean) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE HashTable Sink Operator keys: 0 id (type: int) 1 id (type: int) z TableScan alias: z Statistics: Num rows: 0 Data size: 6 Basic stats: PARTIAL Column stats: NONE Filter Operator predicate: id is not null (type: boolean) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE HashTable Sink Operator keys: 0 _col0 (type: int) 1 id (type: int) Stage: Stage-5 Map Reduce Map Operator Tree: TableScan alias: x Statistics: Num rows: 0 Data size: 13 Basic stats: PARTIAL Column stats: NONE Filter Operator predicate: id is not null (type: boolean) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Map Join Operator condition map: Inner Join 0 to 1 keys: 0 id (type: int) 1 id (type: int) outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator expressions: _col6 (type: int), _col5 (type: string), _col0 (type: int), _col1 (type: string) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Map Join Operator condition map: Inner Join 0 to 1 keys: 0 _col0 (type: int) 1 id (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: int), _col5 (type: string) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE File Output Operator compressed: false Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 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 Local Work: Map Reduce Local Work Stage: Stage-0 Fetch Operator limit: -1 Processor Tree: ListSink PREHOOK: query: SELECT subq.key1, subq.value1, subq.key2, subq.value2, z.id, z.name FROM (SELECT x.id as key1, x.name as value1, y.id as key2, y.name as value2 FROM y JOIN x ON (x.id = y.id)) subq JOIN z ON (subq.key1 = z.id) PREHOOK: type: QUERY PREHOOK: Input: default@x PREHOOK: Input: default@y PREHOOK: Input: default@z #### A masked pattern was here #### POSTHOOK: query: SELECT subq.key1, subq.value1, subq.key2, subq.value2, z.id, z.name FROM (SELECT x.id as key1, x.name as value1, y.id as key2, y.name as value2 FROM y JOIN x ON (x.id = y.id)) subq JOIN z ON (subq.key1 = z.id) POSTHOOK: type: QUERY POSTHOOK: Input: default@x POSTHOOK: Input: default@y POSTHOOK: Input: default@z #### A masked pattern was here #### 2 Joe 2 Tie 2 Tie 2 Hank 2 Tie 2 Tie PREHOOK: query: drop table x PREHOOK: type: DROPTABLE PREHOOK: Input: default@x PREHOOK: Output: default@x POSTHOOK: query: drop table x POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@x POSTHOOK: Output: default@x PREHOOK: query: drop table y PREHOOK: type: DROPTABLE PREHOOK: Input: default@y PREHOOK: Output: default@y POSTHOOK: query: drop table y POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@y POSTHOOK: Output: default@y PREHOOK: query: drop table z PREHOOK: type: DROPTABLE PREHOOK: Input: default@z PREHOOK: Output: default@z POSTHOOK: query: drop table z POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@z POSTHOOK: Output: default@z