hive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hashut...@apache.org
Subject svn commit: r1559364 - in /hive/trunk/ql/src: java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java test/queries/clientpositive/metadata_only_queries_with_filters.q test/results/clientpositive/metadata_only_queries_with_filters.q.out
Date Sat, 18 Jan 2014 17:08:25 GMT
Author: hashutosh
Date: Sat Jan 18 17:08:24 2014
New Revision: 1559364

URL: http://svn.apache.org/r1559364
Log:
HIVE-6221 : Optimize stats based queries in presence of filter (Ashutosh Chauhan via Thejas
Nair)

Added:
    hive/trunk/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q
    hive/trunk/ql/src/test/results/clientpositive/metadata_only_queries_with_filters.q.out
Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java?rev=1559364&r1=1559363&r2=1559364&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/StatsOptimizer.java Sat Jan
18 17:08:24 2014
@@ -1,3 +1,20 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.hadoop.hive.ql.optimizer;
 
 import java.util.ArrayList;
@@ -191,7 +208,7 @@ public class StatsOptimizer implements T
               if(!(aggr.getParameters().get(0) instanceof ExprNodeConstantDesc)){
                 return null;
               }
-              Long rowCnt = getRowCnt(hive, tbl);
+              Long rowCnt = getRowCnt(pctx, tsOp, tbl);
               if(rowCnt == null) {
                 return null;
               }
@@ -206,9 +223,9 @@ public class StatsOptimizer implements T
             if ((aggr.getParameters().isEmpty() || aggr.getParameters().get(0) instanceof
                 ExprNodeConstantDesc)) {
               // Its either count (*) or count(1) case
-              rowCnt = getRowCnt(hive, tbl);
+              rowCnt = getRowCnt(pctx, tsOp, tbl);
               if(rowCnt == null) {
-            	  return null;
+                return null;
               }
             } else {
               // Its count(col) case
@@ -225,7 +242,7 @@ public class StatsOptimizer implements T
                   Log.debug("Stats for table : " + tbl.getTableName() + " are not upto date.");
                   return null;
                   }
-            	rowCnt = Long.parseLong(tbl.getProperty(StatsSetupConst.ROW_COUNT));
+                  rowCnt = Long.parseLong(tbl.getProperty(StatsSetupConst.ROW_COUNT));
                 if (rowCnt < 1) {
                   Log.debug("Table doesn't have upto date stats " + tbl.getTableName());
                   return null;
@@ -242,13 +259,13 @@ public class StatsOptimizer implements T
                   rowCnt -= nullCnt;
                 }
               } else {
-                for (Partition part : hive.getAllPartitionsOf(tbl)) {
+                for (Partition part : pctx.getPrunedPartitions(tsOp.getConf().getAlias(),
tsOp).getPartitions()) {
                   if (!StatsSetupConst.areStatsUptoDate(part.getParameters())) {
                     Log.debug("Stats for part : " + part.getSpec() + " are not upto date.");
                     return null;
                     }
-                	Long partRowCnt = Long.parseLong(part.getParameters()
-                    .get(StatsSetupConst.ROW_COUNT));
+                    Long partRowCnt = Long.parseLong(part.getParameters()
+                      .get(StatsSetupConst.ROW_COUNT));
                   if (partRowCnt < 1) {
                     Log.debug("Partition doesn't have upto date stats " + part.getSpec());
                     return null;
@@ -302,7 +319,7 @@ public class StatsOptimizer implements T
                 return null;
               }
             } else {
-              Set<Partition> parts = hive.getAllPartitionsOf(tbl);
+              Set<Partition> parts = pctx.getPrunedPartitions(tsOp.getConf().getAlias(),
tsOp).getPartitions();
               switch(type) {
               case Integeral: {
                 long maxVal = Long.MIN_VALUE;
@@ -374,7 +391,7 @@ public class StatsOptimizer implements T
                 return null;
               }
             } else {
-              Set<Partition> parts = hive.getAllPartitionsOf(tbl);
+              Set<Partition> parts = pctx.getPrunedPartitions(tsOp.getConf().getAlias(),
tsOp).getPartitions();
               switch(type) {
               case Integeral: {
                 long minVal = Long.MAX_VALUE;
@@ -446,29 +463,28 @@ public class StatsOptimizer implements T
 
       return null;
     }
-    
-    private Long getRowCnt (Hive hive, Table tbl) throws HiveException {
+
+    private Long getRowCnt (ParseContext pCtx, TableScanOperator tsOp, Table tbl) throws
HiveException {
         Long rowCnt = 0L;
-    	if(tbl.isPartitioned()) {
-            for (Partition part : hive.getAllPartitionsOf(tbl)) {
-              long partRowCnt = Long.parseLong(part.getParameters()
-                .get(StatsSetupConst.ROW_COUNT));
-              if (partRowCnt < 1) {
-                Log.debug("Partition doesn't have upto date stats " + part.getSpec());
-                return null;
-              }
-              rowCnt += partRowCnt;
-            }
-          } else { // unpartitioned table
-            rowCnt = Long.parseLong(tbl.getProperty(StatsSetupConst.ROW_COUNT));
-            if (rowCnt < 1) {
-              // if rowCnt < 1 than its either empty table or table on which stats are
not
-              //  computed We assume the worse and don't attempt to optimize.
-              Log.debug("Table doesn't have upto date stats " + tbl.getTableName());
-              rowCnt = null;
-            }
+      if(tbl.isPartitioned()) {
+        for (Partition part : pctx.getPrunedPartitions(tsOp.getConf().getAlias(), tsOp).getPartitions())
{
+          long partRowCnt = Long.parseLong(part.getParameters().get(StatsSetupConst.ROW_COUNT));
+          if (partRowCnt < 1) {
+            Log.debug("Partition doesn't have upto date stats " + part.getSpec());
+            return null;
           }
-    return rowCnt;
+          rowCnt += partRowCnt;
+        }
+      } else { // unpartitioned table
+        rowCnt = Long.parseLong(tbl.getProperty(StatsSetupConst.ROW_COUNT));
+        if (rowCnt < 1) {
+          // if rowCnt < 1 than its either empty table or table on which stats are not
+          //  computed We assume the worse and don't attempt to optimize.
+          Log.debug("Table doesn't have upto date stats " + tbl.getTableName());
+          rowCnt = null;
+        }
+      }
+      return rowCnt;
     }
   }
 }

Added: hive/trunk/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q?rev=1559364&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/metadata_only_queries_with_filters.q Sat
Jan 18 17:08:24 2014
@@ -0,0 +1,49 @@
+set hive.compute.query.using.stats=true;
+create table over10k(
+           t tinyint,
+           si smallint,
+           i int,
+           b bigint,
+           f float,
+           d double,
+           bo boolean,
+           s string,
+           ts timestamp, 
+           dec decimal,  
+           bin binary)
+       row format delimited
+       fields terminated by '|';
+
+load data local inpath '../../data/files/over10k' into table over10k;
+
+create table stats_tbl_part(
+           t tinyint,
+           si smallint,
+           i int,
+           b bigint,
+           f float,
+           d double,
+           bo boolean,
+           s string,
+           ts timestamp, 
+           dec decimal,  
+           bin binary) partitioned by (dt int);
+
+
+from over10k 
+insert overwrite table stats_tbl_part partition (dt=2010) select t,si,i,b,f,d,bo,s,ts,dec,bin
where t>0 and t<30 
+insert overwrite table stats_tbl_part partition (dt=2014) select t,si,i,b,f,d,bo,s,ts,dec,bin
where t > 30 and t<60;
+
+analyze table stats_tbl_part partition(dt) compute statistics;
+analyze table stats_tbl_part partition(dt=2010) compute statistics for columns t,si,i,b,f,d,bo,s,bin;
+analyze table stats_tbl_part partition(dt=2014) compute statistics for columns t,si,i,b,f,d,bo,s,bin;
+
+explain 
+select count(*), count(1), sum(1), count(s), count(bo), count(bin), count(si), max(i), min(b),
max(f), min(d) from stats_tbl_part where dt = 2010;
+select count(*), count(1), sum(1), count(s), count(bo), count(bin), count(si), max(i), min(b),
max(f), min(d) from stats_tbl_part where dt = 2010;
+explain 
+select count(*), count(1), sum(1), sum(2), count(s), count(bo), count(bin), count(si), max(i),
min(b), max(f), min(d) from stats_tbl_part where dt > 2010;
+select count(*), count(1), sum(1), sum(2), count(s), count(bo), count(bin), count(si), max(i),
min(b), max(f), min(d) from stats_tbl_part where dt > 2010;
+
+drop table stats_tbl_part;
+set hive.compute.query.using.stats=false;

Added: hive/trunk/ql/src/test/results/clientpositive/metadata_only_queries_with_filters.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/metadata_only_queries_with_filters.q.out?rev=1559364&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/metadata_only_queries_with_filters.q.out
(added)
+++ hive/trunk/ql/src/test/results/clientpositive/metadata_only_queries_with_filters.q.out
Sat Jan 18 17:08:24 2014
@@ -0,0 +1,368 @@
+PREHOOK: query: create table over10k(
+           t tinyint,
+           si smallint,
+           i int,
+           b bigint,
+           f float,
+           d double,
+           bo boolean,
+           s string,
+           ts timestamp, 
+           dec decimal,  
+           bin binary)
+       row format delimited
+       fields terminated by '|'
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table over10k(
+           t tinyint,
+           si smallint,
+           i int,
+           b bigint,
+           f float,
+           d double,
+           bo boolean,
+           s string,
+           ts timestamp, 
+           dec decimal,  
+           bin binary)
+       row format delimited
+       fields terminated by '|'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@over10k
+PREHOOK: query: load data local inpath '../../data/files/over10k' into table over10k
+PREHOOK: type: LOAD
+PREHOOK: Output: default@over10k
+POSTHOOK: query: load data local inpath '../../data/files/over10k' into table over10k
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@over10k
+PREHOOK: query: create table stats_tbl_part(
+           t tinyint,
+           si smallint,
+           i int,
+           b bigint,
+           f float,
+           d double,
+           bo boolean,
+           s string,
+           ts timestamp, 
+           dec decimal,  
+           bin binary) partitioned by (dt int)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table stats_tbl_part(
+           t tinyint,
+           si smallint,
+           i int,
+           b bigint,
+           f float,
+           d double,
+           bo boolean,
+           s string,
+           ts timestamp, 
+           dec decimal,  
+           bin binary) partitioned by (dt int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@stats_tbl_part
+PREHOOK: query: from over10k 
+insert overwrite table stats_tbl_part partition (dt=2010) select t,si,i,b,f,d,bo,s,ts,dec,bin
where t>0 and t<30 
+insert overwrite table stats_tbl_part partition (dt=2014) select t,si,i,b,f,d,bo,s,ts,dec,bin
where t > 30 and t<60
+PREHOOK: type: QUERY
+PREHOOK: Input: default@over10k
+PREHOOK: Output: default@stats_tbl_part@dt=2010
+PREHOOK: Output: default@stats_tbl_part@dt=2014
+POSTHOOK: query: from over10k 
+insert overwrite table stats_tbl_part partition (dt=2010) select t,si,i,b,f,d,bo,s,ts,dec,bin
where t>0 and t<30 
+insert overwrite table stats_tbl_part partition (dt=2014) select t,si,i,b,f,d,bo,s,ts,dec,bin
where t > 30 and t<60
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@over10k
+POSTHOOK: Output: default@stats_tbl_part@dt=2010
+POSTHOOK: Output: default@stats_tbl_part@dt=2014
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+PREHOOK: query: analyze table stats_tbl_part partition(dt) compute statistics
+PREHOOK: type: QUERY
+PREHOOK: Input: default@stats_tbl_part
+PREHOOK: Input: default@stats_tbl_part@dt=2010
+PREHOOK: Input: default@stats_tbl_part@dt=2014
+PREHOOK: Output: default@stats_tbl_part
+PREHOOK: Output: default@stats_tbl_part@dt=2010
+PREHOOK: Output: default@stats_tbl_part@dt=2014
+POSTHOOK: query: analyze table stats_tbl_part partition(dt) compute statistics
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@stats_tbl_part
+POSTHOOK: Input: default@stats_tbl_part@dt=2010
+POSTHOOK: Input: default@stats_tbl_part@dt=2014
+POSTHOOK: Output: default@stats_tbl_part
+POSTHOOK: Output: default@stats_tbl_part@dt=2010
+POSTHOOK: Output: default@stats_tbl_part@dt=2014
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+PREHOOK: query: analyze table stats_tbl_part partition(dt=2010) compute statistics for columns
t,si,i,b,f,d,bo,s,bin
+PREHOOK: type: QUERY
+PREHOOK: Input: default@stats_tbl_part
+PREHOOK: Input: default@stats_tbl_part@dt=2010
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table stats_tbl_part partition(dt=2010) compute statistics for columns
t,si,i,b,f,d,bo,s,bin
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@stats_tbl_part
+POSTHOOK: Input: default@stats_tbl_part@dt=2010
+#### A masked pattern was here ####
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+PREHOOK: query: analyze table stats_tbl_part partition(dt=2014) compute statistics for columns
t,si,i,b,f,d,bo,s,bin
+PREHOOK: type: QUERY
+PREHOOK: Input: default@stats_tbl_part
+PREHOOK: Input: default@stats_tbl_part@dt=2014
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table stats_tbl_part partition(dt=2014) compute statistics for columns
t,si,i,b,f,d,bo,s,bin
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@stats_tbl_part
+POSTHOOK: Input: default@stats_tbl_part@dt=2014
+#### A masked pattern was here ####
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+PREHOOK: query: explain 
+select count(*), count(1), sum(1), count(s), count(bo), count(bin), count(si), max(i), min(b),
max(f), min(d) from stats_tbl_part where dt = 2010
+PREHOOK: type: QUERY
+POSTHOOK: query: explain 
+select count(*), count(1), sum(1), count(s), count(bo), count(bin), count(si), max(i), min(b),
max(f), min(d) from stats_tbl_part where dt = 2010
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+ABSTRACT SYNTAX TREE:
+  (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME stats_tbl_part))) (TOK_INSERT (TOK_DESTINATION
(TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTIONSTAR count)) (TOK_SELEXPR (TOK_FUNCTION
count 1)) (TOK_SELEXPR (TOK_FUNCTION sum 1)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL
s))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL bo))) (TOK_SELEXPR (TOK_FUNCTION count
(TOK_TABLE_OR_COL bin))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL si))) (TOK_SELEXPR
(TOK_FUNCTION max (TOK_TABLE_OR_COL i))) (TOK_SELEXPR (TOK_FUNCTION min (TOK_TABLE_OR_COL
b))) (TOK_SELEXPR (TOK_FUNCTION max (TOK_TABLE_OR_COL f))) (TOK_SELEXPR (TOK_FUNCTION min
(TOK_TABLE_OR_COL d)))) (TOK_WHERE (= (TOK_TABLE_OR_COL dt) 2010))))
+
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: 1
+
+PREHOOK: query: select count(*), count(1), sum(1), count(s), count(bo), count(bin), count(si),
max(i), min(b), max(f), min(d) from stats_tbl_part where dt = 2010
+PREHOOK: type: QUERY
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*), count(1), sum(1), count(s), count(bo), count(bin), count(si),
max(i), min(b), max(f), min(d) from stats_tbl_part where dt = 2010
+POSTHOOK: type: QUERY
+#### A masked pattern was here ####
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+2322	2322	2322	2322	2322	2322	2322	65791	0	99.9800033569336	0.0
+PREHOOK: query: explain 
+select count(*), count(1), sum(1), sum(2), count(s), count(bo), count(bin), count(si), max(i),
min(b), max(f), min(d) from stats_tbl_part where dt > 2010
+PREHOOK: type: QUERY
+POSTHOOK: query: explain 
+select count(*), count(1), sum(1), sum(2), count(s), count(bo), count(bin), count(si), max(i),
min(b), max(f), min(d) from stats_tbl_part where dt > 2010
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+ABSTRACT SYNTAX TREE:
+  (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME stats_tbl_part))) (TOK_INSERT (TOK_DESTINATION
(TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTIONSTAR count)) (TOK_SELEXPR (TOK_FUNCTION
count 1)) (TOK_SELEXPR (TOK_FUNCTION sum 1)) (TOK_SELEXPR (TOK_FUNCTION sum 2)) (TOK_SELEXPR
(TOK_FUNCTION count (TOK_TABLE_OR_COL s))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL
bo))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL bin))) (TOK_SELEXPR (TOK_FUNCTION
count (TOK_TABLE_OR_COL si))) (TOK_SELEXPR (TOK_FUNCTION max (TOK_TABLE_OR_COL i))) (TOK_SELEXPR
(TOK_FUNCTION min (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTION max (TOK_TABLE_OR_COL
f))) (TOK_SELEXPR (TOK_FUNCTION min (TOK_TABLE_OR_COL d)))) (TOK_WHERE (> (TOK_TABLE_OR_COL
dt) 2010))))
+
+STAGE DEPENDENCIES:
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-0
+    Fetch Operator
+      limit: 1
+
+PREHOOK: query: select count(*), count(1), sum(1), sum(2), count(s), count(bo), count(bin),
count(si), max(i), min(b), max(f), min(d) from stats_tbl_part where dt > 2010
+PREHOOK: type: QUERY
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*), count(1), sum(1), sum(2), count(s), count(bo), count(bin),
count(si), max(i), min(b), max(f), min(d) from stats_tbl_part where dt > 2010
+POSTHOOK: type: QUERY
+#### A masked pattern was here ####
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+2219	2219	2219	4438	2219	2219	2219	2219	65791	0	99.95999908447266	0.0
+PREHOOK: query: drop table stats_tbl_part
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@stats_tbl_part
+PREHOOK: Output: default@stats_tbl_part
+POSTHOOK: query: drop table stats_tbl_part
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@stats_tbl_part
+POSTHOOK: Output: default@stats_tbl_part
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2010).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).b SIMPLE [(over10k)over10k.FieldSchema(name:b,
type:bigint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bin SIMPLE [(over10k)over10k.FieldSchema(name:bin,
type:binary, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).bo SIMPLE [(over10k)over10k.FieldSchema(name:bo,
type:boolean, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).d SIMPLE [(over10k)over10k.FieldSchema(name:d,
type:double, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).dec SIMPLE [(over10k)over10k.FieldSchema(name:dec,
type:decimal(10,0), comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).f SIMPLE [(over10k)over10k.FieldSchema(name:f,
type:float, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).i SIMPLE [(over10k)over10k.FieldSchema(name:i,
type:int, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).s SIMPLE [(over10k)over10k.FieldSchema(name:s,
type:string, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).si SIMPLE [(over10k)over10k.FieldSchema(name:si,
type:smallint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).t SIMPLE [(over10k)over10k.FieldSchema(name:t,
type:tinyint, comment:null), ]
+POSTHOOK: Lineage: stats_tbl_part PARTITION(dt=2014).ts SIMPLE [(over10k)over10k.FieldSchema(name:ts,
type:timestamp, comment:null), ]



Mime
View raw message