diff --git a/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g b/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g index 23f74ba05e..ef45bb89fb 100644 --- a/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g +++ b/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g @@ -456,14 +456,6 @@ Exponent ('e' | 'E') ( PLUS|MINUS )? (Digit)+ ; -fragment -RegexComponent - : 'a'..'z' | 'A'..'Z' | '0'..'9' | '_' - | PLUS | STAR | QUESTION | MINUS | DOT - | LPAREN | RPAREN | LSQUARE | RSQUARE | LCURLY | RCURLY - | BITWISEXOR | BITWISEOR | DOLLAR | '!' - ; - StringLiteral : ( '\'' ( ~('\''|'\\') | ('\\' .) )* '\'' @@ -523,7 +515,6 @@ Identifier (Letter | Digit) (Letter | Digit | '_')* | {allowQuotedId()}? QuotedIdentifier /* though at the language level we allow all Identifiers to be QuotedIdentifiers; at the API level only columns are allowed to be of this form */ - | '`' RegexComponent+ '`' ; fragment diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java index ee3aaa5799..e55c9c3474 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java @@ -4747,32 +4747,6 @@ private void setQueryHints(QB qb) throws SemanticException { getUnescapedName((ASTNode) expr.getChild(0)).toLowerCase(), expr, col_list, excludedColumns, inputRR, starRR, pos, out_rwsch, qb.getAliases(), true); selectStar = true; - } else if (expr.getType() == HiveParser.TOK_TABLE_OR_COL - && !hasAsClause - && !inputRR.getIsExprResolver() - && isRegex( - unescapeIdentifier(expr.getChild(0).getText()), conf)) { - // In case the expression is a regex COL. - // This can only happen without AS clause - // We don't allow this for ExprResolver - the Group By case - pos = genColListRegex(unescapeIdentifier(expr.getChild(0).getText()), null, expr, col_list, excludedColumns, - inputRR, starRR, pos, out_rwsch, qb.getAliases(), true); - } else if (expr.getType() == HiveParser.DOT - && expr.getChild(0).getType() == HiveParser.TOK_TABLE_OR_COL - && inputRR.hasTableAlias(unescapeIdentifier(expr.getChild(0) - .getChild(0).getText().toLowerCase())) - && !hasAsClause - && !inputRR.getIsExprResolver() - && isRegex( - unescapeIdentifier(expr.getChild(1).getText()), conf)) { - // In case the expression is TABLE.COL (col can be regex). - // This can only happen without AS clause - // We don't allow this for ExprResolver - the Group By case - pos = genColListRegex( - unescapeIdentifier(expr.getChild(1).getText()), - unescapeIdentifier(expr.getChild(0).getChild(0).getText().toLowerCase()), - expr, col_list, excludedColumns, inputRR, starRR, pos, - out_rwsch, qb.getAliases(), true); } else if (ParseUtils.containsTokenOfType(expr, HiveParser.TOK_FUNCTIONDI) && !(srcRel instanceof HiveAggregate)) { // Likely a malformed query eg, select hash(distinct c1) from t1; 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 c87f2d2292..7b9defa5bf 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 @@ -4384,25 +4384,6 @@ private boolean isAggregateInSelect(Node node, Collection aggregateFunc return colRef; } - /** - * Returns whether the pattern is a regex expression (instead of a normal - * string). Normal string is a string with all alphabets/digits and "_". - */ - boolean isRegex(String pattern, HiveConf conf) { - String qIdSupport = HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_QUOTEDID_SUPPORT); - if ( "column".equals(qIdSupport)) { - return false; - } - for (int i = 0; i < pattern.length(); i++) { - if (!Character.isLetterOrDigit(pattern.charAt(i)) - && pattern.charAt(i) != '_') { - return true; - } - } - return false; - } - - private Operator genSelectPlan(String dest, QB qb, Operator input, Operator inputForSelectStar) throws SemanticException { ASTNode selExprList = qb.getParseInfo().getSelForClause(dest); @@ -4586,26 +4567,6 @@ boolean isRegex(String pattern, HiveConf conf) { offset += pos - initPos - 1; } selectStar = true; - } else if (expr.getType() == HiveParser.TOK_TABLE_OR_COL && !hasAsClause - && !inputRR.getIsExprResolver() - && isRegex(unescapeIdentifier(expr.getChild(0).getText()), conf)) { - // In case the expression is a regex COL. - // This can only happen without AS clause - // We don't allow this for ExprResolver - the Group By case - pos = genColListRegex(unescapeIdentifier(expr.getChild(0).getText()), - null, expr, colList, null, inputRR, starRR, pos, out_rwsch, qb.getAliases(), false); - } else if (expr.getType() == HiveParser.DOT - && expr.getChild(0).getType() == HiveParser.TOK_TABLE_OR_COL - && inputRR.hasTableAlias(unescapeIdentifier(expr.getChild(0) - .getChild(0).getText().toLowerCase())) && !hasAsClause - && !inputRR.getIsExprResolver() - && isRegex(unescapeIdentifier(expr.getChild(1).getText()), conf)) { - // In case the expression is TABLE.COL (col can be regex). - // This can only happen without AS clause - // We don't allow this for ExprResolver - the Group By case - pos = genColListRegex(unescapeIdentifier(expr.getChild(1).getText()), - unescapeIdentifier(expr.getChild(0).getChild(0).getText().toLowerCase()), - expr, colList, null, inputRR, starRR, pos, out_rwsch, qb.getAliases(), false); } else { // Case when this is an expression TypeCheckCtx tcCtx = new TypeCheckCtx(inputRR, true, isCBOExecuted()); diff --git a/ql/src/test/queries/clientnegative/regex_col_1.q b/ql/src/test/queries/clientnegative/regex_col_1.q deleted file mode 100644 index 181abc9506..0000000000 --- a/ql/src/test/queries/clientnegative/regex_col_1.q +++ /dev/null @@ -1,4 +0,0 @@ ---! qt:dataset:srcpart -set hive.support.quoted.identifiers=none; -EXPLAIN -SELECT `+++` FROM srcpart; diff --git a/ql/src/test/queries/clientnegative/regex_col_2.q b/ql/src/test/queries/clientnegative/regex_col_2.q deleted file mode 100644 index 18993f5872..0000000000 --- a/ql/src/test/queries/clientnegative/regex_col_2.q +++ /dev/null @@ -1,4 +0,0 @@ ---! qt:dataset:srcpart -set hive.support.quoted.identifiers=none; -EXPLAIN -SELECT `.a.` FROM srcpart; diff --git a/ql/src/test/queries/clientnegative/regex_col_groupby.q b/ql/src/test/queries/clientnegative/regex_col_groupby.q deleted file mode 100644 index afb0a18670..0000000000 --- a/ql/src/test/queries/clientnegative/regex_col_groupby.q +++ /dev/null @@ -1,4 +0,0 @@ ---! qt:dataset:srcpart -set hive.support.quoted.identifiers=none; -EXPLAIN -SELECT `..`, count(1) FROM srcpart GROUP BY `..`; diff --git a/ql/src/test/queries/clientpositive/regex_col.q b/ql/src/test/queries/clientpositive/regex_col.q deleted file mode 100644 index d422f75a0b..0000000000 --- a/ql/src/test/queries/clientpositive/regex_col.q +++ /dev/null @@ -1,39 +0,0 @@ ---! qt:dataset:srcpart -set hive.mapred.mode=nonstrict; -set hive.support.quoted.identifiers=none; - -EXPLAIN -SELECT * FROM srcpart; - -EXPLAIN -SELECT `..` FROM srcpart; - -EXPLAIN -SELECT srcpart.`..` FROM srcpart; - -EXPLAIN -SELECT `..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.value = b.value; - -EXPLAIN -SELECT b.`..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.hr = b.hr AND a.ds = b.ds AND a.key = 103 -ORDER BY ds, hr; - -SELECT b.`..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.hr = b.hr AND a.ds = b.ds AND a.key = 103 -ORDER BY ds, hr; - -EXPLAIN -SELECT `.e.` FROM srcpart; - -EXPLAIN -SELECT `d.*` FROM srcpart; - -EXPLAIN -SELECT `(ds)?+.+` FROM srcpart; - -EXPLAIN -SELECT `(ds|hr)?+.+` FROM srcpart ORDER BY key, value LIMIT 10; - -SELECT `(ds|hr)?+.+` FROM srcpart ORDER BY key, value LIMIT 10; diff --git a/ql/src/test/results/clientnegative/regex_col_1.q.out b/ql/src/test/results/clientnegative/regex_col_1.q.out deleted file mode 100644 index 5610fce9f1..0000000000 --- a/ql/src/test/results/clientnegative/regex_col_1.q.out +++ /dev/null @@ -1,3 +0,0 @@ -FAILED: SemanticException Line 3:7 Invalid column reference '`+++`': Dangling meta character '+' near index 0 -+++ -^ diff --git a/ql/src/test/results/clientnegative/regex_col_2.q.out b/ql/src/test/results/clientnegative/regex_col_2.q.out deleted file mode 100644 index 4e538834fa..0000000000 --- a/ql/src/test/results/clientnegative/regex_col_2.q.out +++ /dev/null @@ -1 +0,0 @@ -FAILED: SemanticException [Error 10002]: Line 3:7 Invalid column reference '`.a.`' diff --git a/ql/src/test/results/clientnegative/regex_col_groupby.q.out b/ql/src/test/results/clientnegative/regex_col_groupby.q.out deleted file mode 100644 index f42f039e4c..0000000000 --- a/ql/src/test/results/clientnegative/regex_col_groupby.q.out +++ /dev/null @@ -1 +0,0 @@ -FAILED: SemanticException [Error 10004]: Line 3:44 Invalid table alias or column reference '`..`': (possible column names are: key, value, ds, hr) diff --git a/ql/src/test/results/clientpositive/regex_col.q.out b/ql/src/test/results/clientpositive/regex_col.q.out deleted file mode 100644 index c800910a6b..0000000000 --- a/ql/src/test/results/clientpositive/regex_col.q.out +++ /dev/null @@ -1,539 +0,0 @@ -PREHOOK: query: EXPLAIN -SELECT * FROM srcpart -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT * FROM srcpart -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-0 is a root stage - -STAGE PLANS: - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - TableScan - alias: srcpart - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - ListSink - -PREHOOK: query: EXPLAIN -SELECT `..` FROM srcpart -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT `..` FROM srcpart -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-0 is a root stage - -STAGE PLANS: - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - TableScan - alias: srcpart - Statistics: Num rows: 2000 Data size: 757248 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: ds (type: string), hr (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 2000 Data size: 736000 Basic stats: COMPLETE Column stats: COMPLETE - ListSink - -PREHOOK: query: EXPLAIN -SELECT srcpart.`..` FROM srcpart -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT srcpart.`..` FROM srcpart -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-0 is a root stage - -STAGE PLANS: - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - TableScan - alias: srcpart - Statistics: Num rows: 2000 Data size: 757248 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: ds (type: string), hr (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 2000 Data size: 736000 Basic stats: COMPLETE Column stats: COMPLETE - ListSink - -PREHOOK: query: EXPLAIN -SELECT `..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.value = b.value -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT `..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.value = b.value -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Map Reduce - Map Operator Tree: - TableScan - alias: a - filterExpr: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - null sort order: zz - sort order: ++ - Map-reduce partition columns: _col0 (type: string), _col1 (type: string) - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col2 (type: string), _col3 (type: string) - TableScan - alias: b - filterExpr: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - Filter Operator - predicate: (key is not null and value is not null) (type: boolean) - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), value (type: string), ds (type: string), hr (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - null sort order: zz - sort order: ++ - Map-reduce partition columns: _col0 (type: string), _col1 (type: string) - Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col2 (type: string), _col3 (type: string) - Reduce Operator Tree: - Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col0 (type: string), _col1 (type: string) - 1 _col0 (type: string), _col1 (type: string) - outputColumnNames: _col2, _col3, _col6, _col7 - Statistics: Num rows: 12658 Data size: 9316288 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: _col2 (type: string), _col3 (type: string), _col6 (type: string), _col7 (type: string) - outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 12658 Data size: 9316288 Basic stats: COMPLETE Column stats: COMPLETE - File Output Operator - compressed: false - Statistics: Num rows: 12658 Data size: 9316288 Basic stats: COMPLETE Column stats: COMPLETE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - ListSink - -PREHOOK: query: EXPLAIN -SELECT b.`..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.hr = b.hr AND a.ds = b.ds AND a.key = 103 -ORDER BY ds, hr -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT b.`..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.hr = b.hr AND a.ds = b.ds AND a.key = 103 -ORDER BY ds, hr -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-2 depends on stages: Stage-1 - Stage-0 depends on stages: Stage-2 - -STAGE PLANS: - Stage: Stage-1 - Map Reduce - Map Operator Tree: - TableScan - alias: a - filterExpr: ((UDFToDouble(key) = 103.0D) and hr is not null and ds is not null) (type: boolean) - Statistics: Num rows: 2000 Data size: 910000 Basic stats: COMPLETE Column stats: COMPLETE - Filter Operator - predicate: (UDFToDouble(key) = 103.0D) (type: boolean) - Statistics: Num rows: 1000 Data size: 455000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), ds (type: string), hr (type: string) - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1000 Data size: 455000 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col1 (type: string), _col2 (type: string), _col0 (type: string) - null sort order: zzz - sort order: +++ - Map-reduce partition columns: _col1 (type: string), _col2 (type: string), _col0 (type: string) - Statistics: Num rows: 1000 Data size: 455000 Basic stats: COMPLETE Column stats: COMPLETE - TableScan - alias: b - filterExpr: ((UDFToDouble(key) = 103.0D) and hr is not null and ds is not null) (type: boolean) - Statistics: Num rows: 2000 Data size: 910000 Basic stats: COMPLETE Column stats: COMPLETE - Filter Operator - predicate: (UDFToDouble(key) = 103.0D) (type: boolean) - Statistics: Num rows: 1000 Data size: 455000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), ds (type: string), hr (type: string) - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1000 Data size: 455000 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col1 (type: string), _col2 (type: string), _col0 (type: string) - null sort order: zzz - sort order: +++ - Map-reduce partition columns: _col1 (type: string), _col2 (type: string), _col0 (type: string) - Statistics: Num rows: 1000 Data size: 455000 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Operator Tree: - Join Operator - condition map: - Inner Join 0 to 1 - keys: - 0 _col1 (type: string), _col2 (type: string), _col0 (type: string) - 1 _col1 (type: string), _col2 (type: string), _col0 (type: string) - outputColumnNames: _col4, _col5 - Statistics: Num rows: 3164 Data size: 1164352 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: _col4 (type: string), _col5 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 3164 Data size: 1164352 Basic stats: COMPLETE Column stats: COMPLETE - File Output Operator - compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - - Stage: Stage-2 - Map Reduce - Map Operator Tree: - TableScan - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - null sort order: zz - sort order: ++ - Statistics: Num rows: 3164 Data size: 1164352 Basic stats: COMPLETE Column stats: COMPLETE - Execution mode: vectorized - Reduce Operator Tree: - Select Operator - expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 3164 Data size: 1164352 Basic stats: COMPLETE Column stats: COMPLETE - File Output Operator - compressed: false - Statistics: Num rows: 3164 Data size: 1164352 Basic stats: COMPLETE Column stats: COMPLETE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - ListSink - -PREHOOK: query: SELECT b.`..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.hr = b.hr AND a.ds = b.ds AND a.key = 103 -ORDER BY ds, hr -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: SELECT b.`..` FROM srcpart a JOIN srcpart b -ON a.key = b.key AND a.hr = b.hr AND a.ds = b.ds AND a.key = 103 -ORDER BY ds, hr -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -2008-04-08 11 -2008-04-08 11 -2008-04-08 11 -2008-04-08 11 -2008-04-08 12 -2008-04-08 12 -2008-04-08 12 -2008-04-08 12 -2008-04-09 11 -2008-04-09 11 -2008-04-09 11 -2008-04-09 11 -2008-04-09 12 -2008-04-09 12 -2008-04-09 12 -2008-04-09 12 -PREHOOK: query: EXPLAIN -SELECT `.e.` FROM srcpart -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT `.e.` FROM srcpart -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-0 is a root stage - -STAGE PLANS: - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - TableScan - alias: srcpart - Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE - ListSink - -PREHOOK: query: EXPLAIN -SELECT `d.*` FROM srcpart -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT `d.*` FROM srcpart -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-0 is a root stage - -STAGE PLANS: - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - TableScan - alias: srcpart - Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: ds (type: string) - outputColumnNames: _col0 - Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE - ListSink - -PREHOOK: query: EXPLAIN -SELECT `(ds)?+.+` FROM srcpart -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT `(ds)?+.+` FROM srcpart -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-0 is a root stage - -STAGE PLANS: - Stage: Stage-0 - Fetch Operator - limit: -1 - Processor Tree: - TableScan - alias: srcpart - Statistics: Num rows: 2000 Data size: 724000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), value (type: string), hr (type: string) - outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 2000 Data size: 724000 Basic stats: COMPLETE Column stats: COMPLETE - ListSink - -PREHOOK: query: EXPLAIN -SELECT `(ds|hr)?+.+` FROM srcpart ORDER BY key, value LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: EXPLAIN -SELECT `(ds|hr)?+.+` FROM srcpart ORDER BY key, value LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -STAGE DEPENDENCIES: - Stage-1 is a root stage - Stage-0 depends on stages: Stage-1 - -STAGE PLANS: - Stage: Stage-1 - Map Reduce - Map Operator Tree: - TableScan - alias: srcpart - Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE - Select Operator - expressions: key (type: string), value (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - null sort order: zz - sort order: ++ - Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE - TopN Hash Memory Usage: 0.1 - Execution mode: vectorized - Reduce Operator Tree: - Select Operator - expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE - Limit - Number of rows: 10 - Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: COMPLETE - File Output Operator - compressed: false - Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: COMPLETE - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe - - Stage: Stage-0 - Fetch Operator - limit: 10 - Processor Tree: - ListSink - -PREHOOK: query: SELECT `(ds|hr)?+.+` FROM srcpart ORDER BY key, value LIMIT 10 -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -POSTHOOK: query: SELECT `(ds|hr)?+.+` FROM srcpart ORDER BY key, value LIMIT 10 -POSTHOOK: type: QUERY -POSTHOOK: Input: default@srcpart -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -#### A masked pattern was here #### -0 val_0 -0 val_0 -0 val_0 -0 val_0 -0 val_0 -0 val_0 -0 val_0 -0 val_0 -0 val_0 -0 val_0