diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 2bd2eea..c89d72e 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -1892,8 +1892,6 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal HIVEOPTGBYUSINGINDEX("hive.optimize.index.groupby", false, "Whether to enable optimization of group-by queries using Aggregate indexes."), - HIVEOUTERJOINSUPPORTSFILTERS("hive.outerjoin.supports.filters", true, ""), - HIVEFETCHTASKCONVERSION("hive.fetch.task.conversion", "more", new StringSet("none", "minimal", "more"), "Some select queries can be converted to single FETCH task minimizing latency.\n" + "Currently the query should be single sourced not having any subquery and should not have\n" + diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java index 6ed5b13..602b4fc 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java @@ -191,8 +191,6 @@ ARCHIVE_ON_TABLE(10110, "ARCHIVE can only be run on partitions"), RESERVED_PART_VAL(10111, "Partition value contains a reserved substring"), OFFLINE_TABLE_OR_PARTITION(10113, "Query against an offline table or partition"), - OUTERJOIN_USES_FILTERS(10114, "The query results could be wrong. " + - "Turn on hive.outerjoin.supports.filters"), NEED_PARTITION_SPECIFICATION(10115, "Table is partitioned and partition specification is needed"), INVALID_METADATA(10116, "The metadata file could not be parsed "), NEED_TABLE_SPECIFICATION(10117, "Table name could be determined; It should be specified "), diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index ae1def1..66589fe 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -2589,12 +2589,7 @@ void applyEqualityPredicateToQBJoinTree(QBJoinTree joinTree, || ((rightCondAl1.size() == 0) && (rightCondAl2.size() == 0))) { if (type.equals(JoinType.LEFTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(0).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(0).add(joinCond); - } } else { /* * If the rhs references table sources and this QBJoinTree has a leftTree; @@ -2678,12 +2673,7 @@ void applyEqualityPredicateToQBJoinTree(QBJoinTree joinTree, || ((rightCondAl1.size() == 0) && (rightCondAl2.size() == 0))) { if (type.equals(JoinType.RIGHTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(1).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(1).add(joinCond); - } } else { joinTree.getFiltersForPushing().get(1).add(joinCond); } @@ -2698,24 +2688,14 @@ void applyEqualityPredicateToQBJoinTree(QBJoinTree joinTree, } else if (rightCondAl1.size() != 0) { if (type.equals(JoinType.LEFTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(0).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(0).add(joinCond); - } } else { joinTree.getFiltersForPushing().get(0).add(joinCond); } } else { if (type.equals(JoinType.RIGHTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(1).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(1).add(joinCond); - } } else if (type.equals(JoinType.LEFTSEMI)) { joinTree.getExpressions().get(0).add(leftCondn); joinTree.getExpressions().get(1).add(rightCondn); @@ -2866,24 +2846,14 @@ private void parseJoinCondition(QBJoinTree joinTree, ASTNode joinCond, if (!leftAliasNull) { if (type.equals(JoinType.LEFTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(0).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(0).add(joinCond); - } } else { joinTree.getFiltersForPushing().get(0).add(joinCond); } } else { if (type.equals(JoinType.RIGHTOUTER) || type.equals(JoinType.FULLOUTER)) { - if (conf.getBoolVar(HiveConf.ConfVars.HIVEOUTERJOINSUPPORTSFILTERS)) { joinTree.getFilters().get(1).add(joinCond); - } else { - LOG.warn(ErrorMsg.OUTERJOIN_USES_FILTERS.getErrorCodedMsg()); - joinTree.getFiltersForPushing().get(1).add(joinCond); - } } else { joinTree.getFiltersForPushing().get(1).add(joinCond); } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java index a872809..2e13dab 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/processors/SetProcessor.java @@ -53,7 +53,7 @@ private static final Logger LOG = LoggerFactory.getLogger(SetProcessor.class); private static final String prefix = "set: "; - private static final Set removedConfigs = Sets.newHashSet("hive.mapred.supports.subdirectories","hive.enforce.sorting","hive.enforce.bucketing"); + private static final Set removedConfigs = Sets.newHashSet("hive.mapred.supports.subdirectories","hive.enforce.sorting","hive.enforce.bucketing", "hive.outerjoin.supports.filters"); public static boolean getBoolean(String value) { if (value.equals("on") || value.equals("true")) { diff --git a/ql/src/test/results/clientpositive/auto_join_filters.q.out b/ql/src/test/results/clientpositive/auto_join_filters.q.out index 2d4a043..e526284 100644 --- a/ql/src/test/results/clientpositive/auto_join_filters.q.out +++ b/ql/src/test/results/clientpositive/auto_join_filters.q.out @@ -310,7 +310,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 3078400 -Warning: Map Join MAPJOIN[21][bigTable=?] in task 'Stage-2:MAPRED' is a cross product +Warning: Map Join MAPJOIN[18][bigTable=?] in task 'Stage-2:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -319,8 +319,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Map Join MAPJOIN[21][bigTable=?] in task 'Stage-2:MAPRED' is a cross product +4937935 +Warning: Map Join MAPJOIN[18][bigTable=?] in task 'Stage-2:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -329,8 +329,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +3080335 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -339,7 +339,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -384,7 +384,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -393,7 +393,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -402,7 +402,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -411,7 +411,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -420,7 +420,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -429,7 +429,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -438,7 +438,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -447,7 +447,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -456,7 +456,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -465,7 +465,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -474,7 +474,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -483,7 +483,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -501,7 +501,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -528,7 +528,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.key = c.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 diff --git a/ql/src/test/results/clientpositive/cbo_rp_join1.q.out b/ql/src/test/results/clientpositive/cbo_rp_join1.q.out index 695c6d6..df6510c 100644 --- a/ql/src/test/results/clientpositive/cbo_rp_join1.q.out +++ b/ql/src/test/results/clientpositive/cbo_rp_join1.q.out @@ -14,7 +14,7 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in3.txt' INTO TABLE my POSTHOOK: type: LOAD #### A masked pattern was here #### POSTHOOK: Output: default@myinput1 -Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND b.key = 40 PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND b.key = 40 @@ -35,13 +35,10 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) TableScan alias: b Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE @@ -49,26 +46,26 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Reduce Operator Tree: Join Operator condition map: Outer Join 0 to 1 + filter predicates: + 0 {(VALUE._col0 = 40)} + 1 {(VALUE._col0 = 40)} keys: 0 1 outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: hash(_col0,_col1,_col2,_col3) (type: int) outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col0) mode: hash @@ -109,7 +106,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND b.key = 40 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -118,8 +115,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL -Warning: Shuffle Join JOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +4939870 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.value = 40 AND a.key = a.value AND b.key = 40 PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.value = 40 AND a.key = a.value AND b.key = 40 @@ -140,13 +137,10 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((_col1 = 40) and (_col0 = 40)) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) TableScan alias: b Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE @@ -154,26 +148,26 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Reduce Operator Tree: Join Operator condition map: Outer Join 0 to 1 + filter predicates: + 0 {(VALUE._col0 = 40)} {(VALUE._col1 = 40)} + 1 {(VALUE._col0 = 40)} keys: 0 1 outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: hash(_col0,_col1,_col2,_col3) (type: int) outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col0) mode: hash @@ -214,7 +208,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.key = a.value AND b.key = 40 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -223,8 +217,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL -Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +4939870 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.key = b.key AND b.key = 40 PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.key = b.key AND b.key = 40 @@ -245,13 +239,10 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) TableScan alias: b Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE @@ -259,26 +250,26 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col0 = 40) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Reduce Operator Tree: Join Operator condition map: Outer Join 0 to 1 + filter predicates: + 0 {(VALUE._col0 = 40)} + 1 {(VALUE._col0 = 40)} keys: 0 1 outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: hash(_col0,_col1,_col2,_col3) (type: int) outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col0) mode: hash @@ -319,7 +310,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key = 40 AND a.key = b.key AND b.key = 40 PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -328,8 +319,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -NULL -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +4939870 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value @@ -350,13 +341,10 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((_col0 = _col1) and (_col1 > 50) and (_col0 > 40)) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) TableScan alias: b Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE @@ -364,26 +352,26 @@ STAGE PLANS: expressions: key (type: int), value (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((_col0 = _col1) and (_col1 > 50) and (_col0 > 40)) (type: boolean) - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - sort order: - Statistics: Num rows: 1 Data size: 11 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: int) + Reduce Output Operator + sort order: + Statistics: Num rows: 2 Data size: 22 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: int), _col1 (type: int) Reduce Operator Tree: Join Operator condition map: Outer Join 0 to 1 + filter predicates: + 0 {(VALUE._col0 > 40)} {(VALUE._col1 > 50)} {(VALUE._col0 = VALUE._col1)} + 1 {(VALUE._col0 > 40)} {(VALUE._col1 > 50)} {(VALUE._col0 = VALUE._col1)} keys: 0 1 outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: hash(_col0,_col1,_col2,_col3) (type: int) outputColumnNames: _col0 - Statistics: Num rows: 1 Data size: 23 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 4 Data size: 92 Basic stats: COMPLETE Column stats: NONE Group By Operator aggregations: sum(_col0) mode: hash @@ -424,7 +412,7 @@ STAGE PLANS: Processor Tree: ListSink -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -433,4 +421,4 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 diff --git a/ql/src/test/results/clientpositive/join_1to1.q.out b/ql/src/test/results/clientpositive/join_1to1.q.out index 643b82a..b1fc8f0 100644 --- a/ql/src/test/results/clientpositive/join_1to1.q.out +++ b/ql/src/test/results/clientpositive/join_1to1.q.out @@ -132,21 +132,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -209,21 +222,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -326,21 +352,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -403,21 +442,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -520,21 +572,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -597,21 +662,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 diff --git a/ql/src/test/results/clientpositive/join_filters.q.out b/ql/src/test/results/clientpositive/join_filters.q.out index b909ad5..fa0584d 100644 --- a/ql/src/test/results/clientpositive/join_filters.q.out +++ b/ql/src/test/results/clientpositive/join_filters.q.out @@ -785,7 +785,7 @@ POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 YaI1msgLVpfEx943Tfea/Q== -Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +Warning: Shuffle Join JOIN[7][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -795,8 +795,11 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== -Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== +Warning: Shuffle Join JOIN[7][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -806,8 +809,11 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -817,7 +823,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -867,7 +879,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -877,7 +892,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -887,7 +905,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -897,7 +918,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -907,7 +931,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -917,7 +944,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -927,7 +957,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -937,7 +970,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -947,7 +983,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -957,7 +999,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -967,7 +1015,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -977,7 +1031,13 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +JIHZKZaNhNR9LYBcRFyxng== PREHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -987,7 +1047,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL NULL NULL 12 35 +NULL NULL NULL NULL 48 NULL +NULL NULL NULL NULL NULL 40 +AzUxen/yR7DlsL00zfSITA== PREHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -997,7 +1060,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL 12 35 NULL NULL +NULL NULL 48 NULL NULL NULL +NULL NULL NULL 40 NULL NULL +BYad/CYbc/RASCgl63S7Ww== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1007,7 +1073,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL NULL NULL 12 35 +NULL NULL NULL NULL 48 NULL +NULL NULL NULL NULL NULL 40 +AzUxen/yR7DlsL00zfSITA== PREHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.key=c.key AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1017,7 +1086,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL NULL NULL 12 35 +NULL NULL NULL NULL 48 NULL +NULL NULL NULL NULL NULL 40 +AzUxen/yR7DlsL00zfSITA== PREHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) LEFT OUTER JOIN myinput1 c ON (b.key=c.key AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1027,7 +1099,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL 12 35 NULL NULL +NULL NULL 48 NULL NULL NULL +NULL NULL NULL 40 NULL NULL +BYad/CYbc/RASCgl63S7Ww== PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.key = c.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1037,7 +1112,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 100 100 -WPjT9iK+FjpywFhoiQ0jvw== +NULL NULL NULL NULL 12 35 +NULL NULL NULL NULL 48 NULL +NULL NULL NULL NULL NULL 40 +AzUxen/yR7DlsL00zfSITA== Warning: Map Join MAPJOIN[15][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY @@ -1149,7 +1227,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1159,7 +1240,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1169,7 +1253,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +12 35 NULL NULL +48 NULL NULL NULL +NULL 40 NULL NULL +M3MWtBJdRXSWIJY5Qr/otw== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1179,7 +1266,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1189,7 +1279,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -1199,7 +1292,10 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 100 100 100 100 -YaI1msgLVpfEx943Tfea/Q== +NULL NULL 12 35 +NULL NULL 48 NULL +NULL NULL NULL 40 +LNZKrcVNAvaeDALnsg72bw== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 @@ -1301,8 +1397,12 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 +148 NULL NULL NULL 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +t2boI39B33IANcqlsXXA3g== PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN smb_input2 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 @@ -1314,8 +1414,12 @@ POSTHOOK: Input: default@smb_input1 POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 +148 NULL NULL NULL 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +t2boI39B33IANcqlsXXA3g== PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN smb_input2 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input2 @@ -1325,8 +1429,12 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 +148 NULL NULL NULL 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +48 NULL NULL NULL +NULL 135 NULL NULL +NULL 35 NULL NULL +t2boI39B33IANcqlsXXA3g== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 @@ -1337,7 +1445,11 @@ POSTHOOK: Input: default@smb_input1 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +UBr9lyqgsjDFvooMgQlZ9w== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN smb_input2 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input1 @@ -1350,7 +1462,11 @@ POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +UBr9lyqgsjDFvooMgQlZ9w== PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN smb_input2 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@smb_input2 @@ -1361,4 +1477,8 @@ POSTHOOK: Input: default@smb_input2 #### A masked pattern was here #### 100 100 100 100 200 200 200 200 -fRHAbs52npY0rAF1I1Npfg== +NULL NULL 148 NULL +NULL NULL 48 NULL +NULL NULL NULL 135 +NULL NULL NULL 35 +UBr9lyqgsjDFvooMgQlZ9w== diff --git a/ql/src/test/results/clientpositive/mapjoin1.q.out b/ql/src/test/results/clientpositive/mapjoin1.q.out index 207e8c3..ecd4ce0 100644 --- a/ql/src/test/results/clientpositive/mapjoin1.q.out +++ b/ql/src/test/results/clientpositive/mapjoin1.q.out @@ -326,6 +326,9 @@ STAGE PLANS: alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE HashTable Sink Operator + filter predicates: + 0 + 1 {true} keys: 0 key (type: string) 1 key (type: string) @@ -339,6 +342,9 @@ STAGE PLANS: Map Join Operator condition map: Right Outer Join0 to 1 + filter predicates: + 0 + 1 {true} keys: 0 key (type: string) 1 key (type: string) @@ -408,13 +414,13 @@ STAGE PLANS: TableScan alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((key * 10) < '1000') (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - HashTable Sink Operator - keys: - 0 key (type: string) - 1 key (type: string) + HashTable Sink Operator + filter predicates: + 0 + 1 {((key * 10) < '1000')} + keys: + 0 key (type: string) + 1 key (type: string) Stage: Stage-1 Map Reduce @@ -422,31 +428,31 @@ STAGE PLANS: TableScan alias: b Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((key * 10) < '1000') (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Right Outer Join0 to 1 - keys: - 0 key (type: string) - 1 key (type: string) - outputColumnNames: _col0, _col1, _col5, _col6 - Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 + Map Join Operator + condition map: + Right Outer Join0 to 1 + filter predicates: + 0 + 1 {((key * 10) < '1000')} + keys: + 0 key (type: string) + 1 key (type: string) + outputColumnNames: _col0, _col1, _col5, _col6 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 100 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 + 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 Local Work: Map Reduce Local Work @@ -464,16 +470,16 @@ POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### +NULL NULL 238 val_238 86 val_86 86 val_86 +NULL NULL 311 val_311 27 val_27 27 val_27 +NULL NULL 165 val_165 +NULL NULL 409 val_409 +NULL NULL 255 val_255 +NULL NULL 278 val_278 98 val_98 98 val_98 98 val_98 98 val_98 -66 val_66 66 val_66 -37 val_37 37 val_37 -37 val_37 37 val_37 -15 val_15 15 val_15 -15 val_15 15 val_15 -82 val_82 82 val_82 PREHOOK: query: EXPLAIN SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN (select key, named_struct('key', key, 'value', value) as kv from src) b on a.key=b.key AND b.kv.key > 200 limit 10 @@ -500,6 +506,9 @@ STAGE PLANS: alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE HashTable Sink Operator + filter predicates: + 0 + 1 {(_col1.key > 200)} keys: 0 key (type: string) 1 _col0 (type: string) @@ -514,31 +523,31 @@ STAGE PLANS: expressions: key (type: string), named_struct('key',key,'value',value) (type: struct) outputColumnNames: _col0, _col1 Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col1.key > 200) (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Right Outer Join0 to 1 - keys: - 0 key (type: string) - 1 _col0 (type: string) - outputColumnNames: _col0, _col1, _col5, _col6 + Map Join Operator + condition map: + Right Outer Join0 to 1 + filter predicates: + 0 + 1 {(_col1.key > 200)} + keys: + 0 key (type: string) + 1 _col0 (type: string) + outputColumnNames: _col0, _col1, _col5, _col6 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: struct) + outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: struct) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 100 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 + 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 Local Work: Map Reduce Local Work @@ -560,11 +569,11 @@ POSTHOOK: Input: default@src #### A masked pattern was here #### 238 val_238 238 {"key":"238","value":"val_238"} 238 val_238 238 {"key":"238","value":"val_238"} +NULL NULL 86 {"key":"86","value":"val_86"} 311 val_311 311 {"key":"311","value":"val_311"} 311 val_311 311 {"key":"311","value":"val_311"} 311 val_311 311 {"key":"311","value":"val_311"} +NULL NULL 27 {"key":"27","value":"val_27"} +NULL NULL 165 {"key":"165","value":"val_165"} 409 val_409 409 {"key":"409","value":"val_409"} 409 val_409 409 {"key":"409","value":"val_409"} -409 val_409 409 {"key":"409","value":"val_409"} -255 val_255 255 {"key":"255","value":"val_255"} -255 val_255 255 {"key":"255","value":"val_255"} diff --git a/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out b/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out index 85b2a32..c00fdf1 100644 --- a/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out +++ b/ql/src/test/results/clientpositive/spark/auto_join_filters.q.out @@ -310,7 +310,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 3078400 -Warning: Map Join MAPJOIN[19][bigTable=?] in task 'Stage-1:MAPRED' is a cross product +Warning: Map Join MAPJOIN[16][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -319,8 +319,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Map Join MAPJOIN[19][bigTable=?] in task 'Stage-1:MAPRED' is a cross product +4937935 +Warning: Map Join MAPJOIN[16][bigTable=?] in task 'Stage-1:MAPRED' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -329,8 +329,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Shuffle Join JOIN[12][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product +3080335 +Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -339,7 +339,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -384,7 +384,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -393,7 +393,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -402,7 +402,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -411,7 +411,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -420,7 +420,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -429,7 +429,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -438,7 +438,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -447,7 +447,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -456,7 +456,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -465,7 +465,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -474,7 +474,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -483,7 +483,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -501,7 +501,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -528,7 +528,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.key = c.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 diff --git a/ql/src/test/results/clientpositive/spark/join_1to1.q.out b/ql/src/test/results/clientpositive/spark/join_1to1.q.out index 643b82a..b1fc8f0 100644 --- a/ql/src/test/results/clientpositive/spark/join_1to1.q.out +++ b/ql/src/test/results/clientpositive/spark/join_1to1.q.out @@ -132,21 +132,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -209,21 +222,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -326,21 +352,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -403,21 +442,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -520,21 +572,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 @@ -597,21 +662,34 @@ POSTHOOK: Input: default@join_1to1_2 #### A masked pattern was here #### 15 10015 66 NULL NULL NULL 20 10020 66 20 10020 66 +25 10025 88 NULL NULL NULL 30 10030 66 NULL NULL NULL +35 10035 88 NULL NULL NULL 40 10040 66 40 10040 66 +40 10040 88 NULL NULL NULL 5 10005 66 5 10005 66 50 10050 66 50 10050 66 50 10050 66 50 10050 66 +50 10050 88 NULL NULL NULL +50 10050 88 NULL NULL NULL 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 60 10040 66 70 10040 66 NULL NULL NULL 70 10040 66 NULL NULL NULL +80 10040 88 NULL NULL NULL +80 10040 88 NULL NULL NULL NULL 10050 66 NULL NULL NULL NULL NULL 66 NULL NULL NULL NULL NULL NULL 10 10010 66 NULL NULL NULL 25 10025 66 +NULL NULL NULL 30 10030 88 +NULL NULL NULL 35 10035 88 +NULL NULL NULL 40 10040 88 +NULL NULL NULL 50 10050 88 +NULL NULL NULL 70 10040 88 +NULL NULL NULL 70 10040 88 NULL NULL NULL 80 10040 66 NULL NULL NULL 80 10040 66 NULL NULL NULL NULL 10050 66 diff --git a/ql/src/test/results/clientpositive/spark/mapjoin1.q.out b/ql/src/test/results/clientpositive/spark/mapjoin1.q.out index 6d20561..9027bf4 100644 --- a/ql/src/test/results/clientpositive/spark/mapjoin1.q.out +++ b/ql/src/test/results/clientpositive/spark/mapjoin1.q.out @@ -339,6 +339,9 @@ STAGE PLANS: alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator + filter predicates: + 0 + 1 {true} keys: 0 key (type: string) 1 key (type: string) @@ -357,6 +360,9 @@ STAGE PLANS: Map Join Operator condition map: Right Outer Join0 to 1 + filter predicates: + 0 + 1 {true} keys: 0 key (type: string) 1 key (type: string) @@ -426,13 +432,13 @@ STAGE PLANS: TableScan alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((key * 10) < '1000') (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - Spark HashTable Sink Operator - keys: - 0 key (type: string) - 1 key (type: string) + Spark HashTable Sink Operator + filter predicates: + 0 + 1 {((key * 10) < '1000')} + keys: + 0 key (type: string) + 1 key (type: string) Local Work: Map Reduce Local Work @@ -445,33 +451,33 @@ STAGE PLANS: TableScan alias: b Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: ((key * 10) < '1000') (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Right Outer Join0 to 1 - keys: - 0 key (type: string) - 1 key (type: string) - outputColumnNames: _col0, _col1, _col5, _col6 - input vertices: - 0 Map 1 - Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 182 Data size: 1939 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 + Map Join Operator + condition map: + Right Outer Join0 to 1 + filter predicates: + 0 + 1 {((key * 10) < '1000')} + keys: + 0 key (type: string) + 1 key (type: string) + outputColumnNames: _col0, _col1, _col5, _col6 + input vertices: + 0 Map 1 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 100 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 + 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 Local Work: Map Reduce Local Work @@ -489,16 +495,16 @@ POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### +NULL NULL 238 val_238 86 val_86 86 val_86 +NULL NULL 311 val_311 27 val_27 27 val_27 +NULL NULL 165 val_165 +NULL NULL 409 val_409 +NULL NULL 255 val_255 +NULL NULL 278 val_278 98 val_98 98 val_98 98 val_98 98 val_98 -66 val_66 66 val_66 -37 val_37 37 val_37 -37 val_37 37 val_37 -15 val_15 15 val_15 -15 val_15 15 val_15 -82 val_82 82 val_82 PREHOOK: query: EXPLAIN SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN (select key, named_struct('key', key, 'value', value) as kv from src) b on a.key=b.key AND b.kv.key > 200 limit 10 @@ -523,6 +529,9 @@ STAGE PLANS: alias: a Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator + filter predicates: + 0 + 1 {(_col1.key > 200)} keys: 0 key (type: string) 1 _col0 (type: string) @@ -542,33 +551,33 @@ STAGE PLANS: expressions: key (type: string), named_struct('key',key,'value',value) (type: struct) outputColumnNames: _col0, _col1 Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE - Filter Operator - predicate: (_col1.key > 200) (type: boolean) - Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE - Map Join Operator - condition map: - Right Outer Join0 to 1 - keys: - 0 key (type: string) - 1 _col0 (type: string) - outputColumnNames: _col0, _col1, _col5, _col6 - input vertices: - 0 Map 2 + Map Join Operator + condition map: + Right Outer Join0 to 1 + filter predicates: + 0 + 1 {(_col1.key > 200)} + keys: + 0 key (type: string) + 1 _col0 (type: string) + outputColumnNames: _col0, _col1, _col5, _col6 + input vertices: + 0 Map 2 + Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: struct) + outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: struct) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE - Limit - Number of rows: 10 + Limit + Number of rows: 10 + Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false Statistics: Num rows: 10 Data size: 100 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 100 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 + 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 Local Work: Map Reduce Local Work @@ -590,11 +599,11 @@ POSTHOOK: Input: default@src #### A masked pattern was here #### 238 val_238 238 {"key":"238","value":"val_238"} 238 val_238 238 {"key":"238","value":"val_238"} +NULL NULL 86 {"key":"86","value":"val_86"} 311 val_311 311 {"key":"311","value":"val_311"} 311 val_311 311 {"key":"311","value":"val_311"} 311 val_311 311 {"key":"311","value":"val_311"} +NULL NULL 27 {"key":"27","value":"val_27"} +NULL NULL 165 {"key":"165","value":"val_165"} 409 val_409 409 {"key":"409","value":"val_409"} 409 val_409 409 {"key":"409","value":"val_409"} -409 val_409 409 {"key":"409","value":"val_409"} -255 val_255 255 {"key":"255","value":"val_255"} -255 val_255 255 {"key":"255","value":"val_255"} diff --git a/ql/src/test/results/clientpositive/tez/auto_join_filters.q.out b/ql/src/test/results/clientpositive/tez/auto_join_filters.q.out index 36f719b..d1d9408 100644 --- a/ql/src/test/results/clientpositive/tez/auto_join_filters.q.out +++ b/ql/src/test/results/clientpositive/tez/auto_join_filters.q.out @@ -310,7 +310,7 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### 3078400 -Warning: Map Join MAPJOIN[19][bigTable=?] in task 'Map 1' is a cross product +Warning: Map Join MAPJOIN[16][bigTable=?] in task 'Map 1' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -319,8 +319,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Map Join MAPJOIN[19][bigTable=?] in task 'Map 2' is a cross product +4937935 +Warning: Map Join MAPJOIN[16][bigTable=?] in task 'Map 2' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -329,8 +329,8 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 -Warning: Shuffle Join MERGEJOIN[20][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product +3080335 +Warning: Shuffle Join MERGEJOIN[14][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b on a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -339,7 +339,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -384,7 +384,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -393,7 +393,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -402,7 +402,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = b.key and a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -411,7 +411,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a L POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4937935 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -420,7 +420,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -429,7 +429,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -438,7 +438,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key=b.key and a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -447,7 +447,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -456,7 +456,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -465,7 +465,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -474,7 +474,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value = b.value and a.key=b.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -483,7 +483,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a F POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +4939870 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a LEFT OUTER JOIN myinput1 b ON (a.value=b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value AND c.key > 40 AND c.value > 50 AND c.key = c.value AND b.key > 40 AND b.value > 50 AND b.key = b.value) PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -501,7 +501,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1 @@ -528,7 +528,7 @@ POSTHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) from myinput1 a R POSTHOOK: type: QUERY POSTHOOK: Input: default@myinput1 #### A masked pattern was here #### -3078400 +3080335 PREHOOK: query: SELECT sum(hash(a.key,a.value,b.key,b.value)) FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c ON a.value = b.value and b.key = c.key AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value AND c.key > 40 AND c.value > 50 AND c.key = c.value PREHOOK: type: QUERY PREHOOK: Input: default@myinput1