Saving all output to "!!{outputDirectory}!!/ppd_outer_join3.q.raw". Enter "record" with no arguments to stop it. >>> !run !!{qFileDirectory}!!/ppd_outer_join3.q >>> set hive.optimize.ppd=true; No rows affected >>> set hive.ppd.remove.duplicatefilters=false; No rows affected >>> >>> EXPLAIN FROM src a FULL OUTER JOIN src b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; 'Explain' 'ABSTRACT SYNTAX TREE:' ' (TOK_QUERY (TOK_FROM (TOK_FULLOUTERJOIN (TOK_TABREF (TOK_TABNAME src) a) (TOK_TABREF (TOK_TABNAME src) b) (= (. (TOK_TABLE_OR_COL a) key) (. (TOK_TABLE_OR_COL b) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL a) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL a) value)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) value))) (TOK_WHERE (AND (AND (AND (> (. (TOK_TABLE_OR_COL a) key) '10') (< (. (TOK_TABLE_OR_COL a) key) '20')) (> (. (TOK_TABLE_OR_COL b) key) '15')) (< (. (TOK_TABLE_OR_COL b) key) '25')))))' '' 'STAGE DEPENDENCIES:' ' Stage-1 is a root stage' ' Stage-0 is a root stage' '' 'STAGE PLANS:' ' Stage: Stage-1' ' Map Reduce' ' Alias -> Map Operator Tree:' ' a ' ' TableScan' ' alias: a' ' Reduce Output Operator' ' key expressions:' ' expr: key' ' type: string' ' sort order: +' ' Map-reduce partition columns:' ' expr: key' ' type: string' ' tag: 0' ' value expressions:' ' expr: key' ' type: string' ' expr: value' ' type: string' ' b ' ' TableScan' ' alias: b' ' Reduce Output Operator' ' key expressions:' ' expr: key' ' type: string' ' sort order: +' ' Map-reduce partition columns:' ' expr: key' ' type: string' ' tag: 1' ' value expressions:' ' expr: key' ' type: string' ' expr: value' ' type: string' ' Reduce Operator Tree:' ' Join Operator' ' condition map:' ' Outer Join 0 to 1' ' condition expressions:' ' 0 {VALUE._col0} {VALUE._col1}' ' 1 {VALUE._col0} {VALUE._col1}' ' handleSkewJoin: false' ' outputColumnNames: _col0, _col1, _col4, _col5' ' Filter Operator' ' predicate:' ' expr: ((((_col0 > '10') and (_col0 < '20')) and (_col4 > '15')) and (_col4 < '25'))' ' type: boolean' ' Select Operator' ' expressions:' ' expr: _col0' ' type: string' ' expr: _col1' ' type: string' ' expr: _col4' ' type: string' ' expr: _col5' ' type: string' ' outputColumnNames: _col0, _col1, _col2, _col3' ' File Output Operator' ' compressed: false' ' GlobalTableId: 0' ' table:' ' input format: org.apache.hadoop.mapred.TextInputFormat' ' output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' '' ' Stage: Stage-0' ' Fetch Operator' ' limit: -1' '' '' 81 rows selected >>> >>> FROM src a FULL OUTER JOIN src b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; 'key','value','key','value' '150','val_150','150','val_150' '152','val_152','152','val_152' '152','val_152','152','val_152' '152','val_152','152','val_152' '152','val_152','152','val_152' '153','val_153','153','val_153' '155','val_155','155','val_155' '156','val_156','156','val_156' '157','val_157','157','val_157' '158','val_158','158','val_158' '160','val_160','160','val_160' '162','val_162','162','val_162' '163','val_163','163','val_163' '164','val_164','164','val_164' '164','val_164','164','val_164' '164','val_164','164','val_164' '164','val_164','164','val_164' '165','val_165','165','val_165' '165','val_165','165','val_165' '165','val_165','165','val_165' '165','val_165','165','val_165' '166','val_166','166','val_166' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '168','val_168','168','val_168' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '17','val_17','17','val_17' '170','val_170','170','val_170' '172','val_172','172','val_172' '172','val_172','172','val_172' '172','val_172','172','val_172' '172','val_172','172','val_172' '174','val_174','174','val_174' '174','val_174','174','val_174' '174','val_174','174','val_174' '174','val_174','174','val_174' '175','val_175','175','val_175' '175','val_175','175','val_175' '175','val_175','175','val_175' '175','val_175','175','val_175' '176','val_176','176','val_176' '176','val_176','176','val_176' '176','val_176','176','val_176' '176','val_176','176','val_176' '177','val_177','177','val_177' '178','val_178','178','val_178' '179','val_179','179','val_179' '179','val_179','179','val_179' '179','val_179','179','val_179' '179','val_179','179','val_179' '18','val_18','18','val_18' '18','val_18','18','val_18' '18','val_18','18','val_18' '18','val_18','18','val_18' '180','val_180','180','val_180' '181','val_181','181','val_181' '183','val_183','183','val_183' '186','val_186','186','val_186' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '189','val_189','189','val_189' '19','val_19','19','val_19' '190','val_190','190','val_190' '191','val_191','191','val_191' '191','val_191','191','val_191' '191','val_191','191','val_191' '191','val_191','191','val_191' '192','val_192','192','val_192' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '194','val_194','194','val_194' '195','val_195','195','val_195' '195','val_195','195','val_195' '195','val_195','195','val_195' '195','val_195','195','val_195' '196','val_196','196','val_196' '197','val_197','197','val_197' '197','val_197','197','val_197' '197','val_197','197','val_197' '197','val_197','197','val_197' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '2','val_2','2','val_2' 126 rows selected >>> >>> set hive.ppd.remove.duplicatefilters=true; No rows affected >>> >>> EXPLAIN FROM src a FULL OUTER JOIN src b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; 'Explain' 'ABSTRACT SYNTAX TREE:' ' (TOK_QUERY (TOK_FROM (TOK_FULLOUTERJOIN (TOK_TABREF (TOK_TABNAME src) a) (TOK_TABREF (TOK_TABNAME src) b) (= (. (TOK_TABLE_OR_COL a) key) (. (TOK_TABLE_OR_COL b) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL a) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL a) value)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) value))) (TOK_WHERE (AND (AND (AND (> (. (TOK_TABLE_OR_COL a) key) '10') (< (. (TOK_TABLE_OR_COL a) key) '20')) (> (. (TOK_TABLE_OR_COL b) key) '15')) (< (. (TOK_TABLE_OR_COL b) key) '25')))))' '' 'STAGE DEPENDENCIES:' ' Stage-1 is a root stage' ' Stage-0 is a root stage' '' 'STAGE PLANS:' ' Stage: Stage-1' ' Map Reduce' ' Alias -> Map Operator Tree:' ' a ' ' TableScan' ' alias: a' ' Reduce Output Operator' ' key expressions:' ' expr: key' ' type: string' ' sort order: +' ' Map-reduce partition columns:' ' expr: key' ' type: string' ' tag: 0' ' value expressions:' ' expr: key' ' type: string' ' expr: value' ' type: string' ' b ' ' TableScan' ' alias: b' ' Reduce Output Operator' ' key expressions:' ' expr: key' ' type: string' ' sort order: +' ' Map-reduce partition columns:' ' expr: key' ' type: string' ' tag: 1' ' value expressions:' ' expr: key' ' type: string' ' expr: value' ' type: string' ' Reduce Operator Tree:' ' Join Operator' ' condition map:' ' Outer Join 0 to 1' ' condition expressions:' ' 0 {VALUE._col0} {VALUE._col1}' ' 1 {VALUE._col0} {VALUE._col1}' ' handleSkewJoin: false' ' outputColumnNames: _col0, _col1, _col4, _col5' ' Filter Operator' ' predicate:' ' expr: ((((_col4 > '15') and (_col4 < '25')) and (_col0 > '10')) and (_col0 < '20'))' ' type: boolean' ' Select Operator' ' expressions:' ' expr: _col0' ' type: string' ' expr: _col1' ' type: string' ' expr: _col4' ' type: string' ' expr: _col5' ' type: string' ' outputColumnNames: _col0, _col1, _col2, _col3' ' File Output Operator' ' compressed: false' ' GlobalTableId: 0' ' table:' ' input format: org.apache.hadoop.mapred.TextInputFormat' ' output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' '' ' Stage: Stage-0' ' Fetch Operator' ' limit: -1' '' '' 81 rows selected >>> >>> FROM src a FULL OUTER JOIN src b ON (a.key = b.key) SELECT a.key, a.value, b.key, b.value WHERE a.key > '10' AND a.key < '20' AND b.key > '15' AND b.key < '25'; 'key','value','key','value' '150','val_150','150','val_150' '152','val_152','152','val_152' '152','val_152','152','val_152' '152','val_152','152','val_152' '152','val_152','152','val_152' '153','val_153','153','val_153' '155','val_155','155','val_155' '156','val_156','156','val_156' '157','val_157','157','val_157' '158','val_158','158','val_158' '160','val_160','160','val_160' '162','val_162','162','val_162' '163','val_163','163','val_163' '164','val_164','164','val_164' '164','val_164','164','val_164' '164','val_164','164','val_164' '164','val_164','164','val_164' '165','val_165','165','val_165' '165','val_165','165','val_165' '165','val_165','165','val_165' '165','val_165','165','val_165' '166','val_166','166','val_166' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '167','val_167','167','val_167' '168','val_168','168','val_168' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '169','val_169','169','val_169' '17','val_17','17','val_17' '170','val_170','170','val_170' '172','val_172','172','val_172' '172','val_172','172','val_172' '172','val_172','172','val_172' '172','val_172','172','val_172' '174','val_174','174','val_174' '174','val_174','174','val_174' '174','val_174','174','val_174' '174','val_174','174','val_174' '175','val_175','175','val_175' '175','val_175','175','val_175' '175','val_175','175','val_175' '175','val_175','175','val_175' '176','val_176','176','val_176' '176','val_176','176','val_176' '176','val_176','176','val_176' '176','val_176','176','val_176' '177','val_177','177','val_177' '178','val_178','178','val_178' '179','val_179','179','val_179' '179','val_179','179','val_179' '179','val_179','179','val_179' '179','val_179','179','val_179' '18','val_18','18','val_18' '18','val_18','18','val_18' '18','val_18','18','val_18' '18','val_18','18','val_18' '180','val_180','180','val_180' '181','val_181','181','val_181' '183','val_183','183','val_183' '186','val_186','186','val_186' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '187','val_187','187','val_187' '189','val_189','189','val_189' '19','val_19','19','val_19' '190','val_190','190','val_190' '191','val_191','191','val_191' '191','val_191','191','val_191' '191','val_191','191','val_191' '191','val_191','191','val_191' '192','val_192','192','val_192' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '193','val_193','193','val_193' '194','val_194','194','val_194' '195','val_195','195','val_195' '195','val_195','195','val_195' '195','val_195','195','val_195' '195','val_195','195','val_195' '196','val_196','196','val_196' '197','val_197','197','val_197' '197','val_197','197','val_197' '197','val_197','197','val_197' '197','val_197','197','val_197' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '199','val_199','199','val_199' '2','val_2','2','val_2' 126 rows selected >>> !record