You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2015/05/29 06:47:34 UTC
[55/84] [abbrv] hive git commit: HIVE-10702 : COUNT(*) over windowing
'x preceding and y preceding' doesn't work properly (Aihua Xu via Ashutosh
Chauhan)
HIVE-10702 : COUNT(*) over windowing 'x preceding and y preceding' doesn't work properly (Aihua Xu via Ashutosh Chauhan)
Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/c19efd68
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/c19efd68
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/c19efd68
Branch: refs/heads/spark
Commit: c19efd6848c0b47af1604684d9607d148c9ac402
Parents: c577e60
Author: Aihua Xu <ai...@gmail.com>
Authored: Thu May 21 14:02:00 2015 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Mon May 25 23:24:27 2015 -0700
----------------------------------------------------------------------
.../hive/ql/exec/PTFRollingPartition.java | 30 +-
.../hive/ql/udf/ptf/WindowingTableFunction.java | 39 +-
.../clientpositive/windowing_windowspec2.q | 6 +
.../clientpositive/windowing_windowspec2.q.out | 440 ++++++++++++++++++-
4 files changed, 475 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/c19efd68/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFRollingPartition.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFRollingPartition.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFRollingPartition.java
index e195c0a..ad1cf24 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFRollingPartition.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFRollingPartition.java
@@ -23,7 +23,7 @@ import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.plan.ptf.WindowFunctionDef;
+import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef;
import org.apache.hadoop.hive.serde2.SerDe;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption;
@@ -37,14 +37,14 @@ public class PTFRollingPartition extends PTFPartition {
int numRowsProcessed;
/*
- * number rows to maintain before nextRowToProcess
+ * Relative start position of the windowing. Can be negative.
*/
- int precedingSpan;
+ int startPos;
/*
- * number rows to maintain after nextRowToProcess
+ * Relative end position of the windowing. Can be negative.
*/
- int followingSpan;
+ int endPos;
/*
* number of rows received.
@@ -72,11 +72,11 @@ public class PTFRollingPartition extends PTFPartition {
protected PTFRollingPartition(Configuration cfg, SerDe serDe,
StructObjectInspector inputOI, StructObjectInspector outputOI,
- int precedingSpan, int succeedingSpan) throws HiveException {
+ int startPos, int endPos) throws HiveException {
super(cfg, serDe, inputOI, outputOI, false);
- this.precedingSpan = precedingSpan;
- this.followingSpan = succeedingSpan;
- currWindow = new ArrayList<Object>(precedingSpan + followingSpan);
+ this.startPos = startPos;
+ this.endPos = endPos;
+ currWindow = new ArrayList<Object>(endPos - startPos + 1);
}
public void reset() throws HiveException {
@@ -101,7 +101,7 @@ public class PTFRollingPartition extends PTFPartition {
public Object nextOutputRow() throws HiveException {
Object row = getAt(numRowsProcessed);
numRowsProcessed++;
- if (numRowsProcessed > precedingSpan) {
+ if (numRowsProcessed > -startPos) {
currWindow.remove(0);
}
return row;
@@ -111,9 +111,13 @@ public class PTFRollingPartition extends PTFPartition {
return numRowsProcessed >= numRowsReceived;
}
- public int rowToProcess(WindowFunctionDef wFn) {
- int rowToProcess = numRowsReceived - wFn.getWindowFrame().getEnd().getAmt()
- - 1;
+ /**
+ * Gets the next row index that the data within the window are available and can be processed
+ * @param wFrameDef
+ * @return
+ */
+ public int rowToProcess(WindowFrameDef wFrameDef) {
+ int rowToProcess = numRowsReceived - 1 - Math.max(0, wFrameDef.getEnd().getRelativeOffset());
return rowToProcess >= 0 ? rowToProcess : -1;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/c19efd68/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java
index d7817d9..40fd6a4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java
@@ -246,8 +246,8 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
}
WindowTableFunctionDef tabDef = (WindowTableFunctionDef) getTableDef();
- int precedingSpan = 0;
- int followingSpan = 0;
+ int startPos = Integer.MAX_VALUE;
+ int endPos = Integer.MIN_VALUE;
for (int i = 0; i < tabDef.getWindowFunctions().size(); i++) {
WindowFunctionDef wFnDef = tabDef.getWindowFunctions().get(i);
@@ -264,20 +264,9 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
BoundaryDef end = wdwFrame.getEnd();
if (!(end instanceof ValueBoundaryDef)
&& !(start instanceof ValueBoundaryDef)) {
- if (end.getAmt() != BoundarySpec.UNBOUNDED_AMOUNT
- && start.getAmt() != BoundarySpec.UNBOUNDED_AMOUNT
- && end.getDirection() != Direction.PRECEDING
- && start.getDirection() != Direction.FOLLOWING) {
-
- int amt = wdwFrame.getStart().getAmt();
- if (amt > precedingSpan) {
- precedingSpan = amt;
- }
-
- amt = wdwFrame.getEnd().getAmt();
- if (amt > followingSpan) {
- followingSpan = amt;
- }
+ if (!end.isUnbounded() && !start.isUnbounded()) {
+ startPos = Math.min(startPos, wdwFrame.getStart().getRelativeOffset());
+ endPos = Math.max(endPos, wdwFrame.getEnd().getRelativeOffset());
continue;
}
}
@@ -286,12 +275,12 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
int windowLimit = HiveConf.getIntVar(cfg, ConfVars.HIVEJOINCACHESIZE);
- if (windowLimit < (followingSpan + precedingSpan + 1)) {
+ if (windowLimit < (endPos - startPos + 1)) {
return null;
}
canAcceptInputAsStream = true;
- return new int[] {precedingSpan, followingSpan};
+ return new int[] {startPos, endPos};
}
private void initializeWindowingFunctionInfoHelpers() throws SemanticException {
@@ -428,7 +417,7 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
: out);
}
} else {
- int rowToProcess = streamingState.rollingPart.rowToProcess(wFn);
+ int rowToProcess = streamingState.rollingPart.rowToProcess(wFn.getWindowFrame());
if (rowToProcess >= 0) {
Range rng = getRange(wFn, rowToProcess, streamingState.rollingPart,
streamingState.order);
@@ -482,7 +471,7 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
WindowFunctionDef wFn = tabDef.getWindowFunctions().get(i);
GenericUDAFEvaluator fnEval = wFn.getWFnEval();
- int numRowsRemaining = wFn.getWindowFrame().getEnd().getAmt();
+ int numRowsRemaining = wFn.getWindowFrame().getEnd().getRelativeOffset();
if (fnEval instanceof ISupportStreamingModeForWindowing) {
fnEval.terminate(streamingState.aggBuffers[i]);
@@ -682,7 +671,7 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
return vals;
}
- Range getRange(WindowFunctionDef wFnDef, int currRow, PTFPartition p, Order order) throws HiveException
+ private Range getRange(WindowFunctionDef wFnDef, int currRow, PTFPartition p, Order order) throws HiveException
{
BoundaryDef startB = wFnDef.getWindowFrame().getStart();
BoundaryDef endB = wFnDef.getWindowFrame().getEnd();
@@ -716,7 +705,7 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
return new Range(start, end, p);
}
- int getRowBoundaryStart(BoundaryDef b, int currRow) throws HiveException {
+ private int getRowBoundaryStart(BoundaryDef b, int currRow) throws HiveException {
Direction d = b.getDirection();
int amt = b.getAmt();
switch(d) {
@@ -735,7 +724,7 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
throw new HiveException("Unknown Start Boundary Direction: " + d);
}
- int getRowBoundaryEnd(BoundaryDef b, int currRow, PTFPartition p) throws HiveException {
+ private int getRowBoundaryEnd(BoundaryDef b, int currRow, PTFPartition p) throws HiveException {
Direction d = b.getDirection();
int amt = b.getAmt();
switch(d) {
@@ -743,7 +732,7 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
if ( amt == 0 ) {
return currRow + 1;
}
- return currRow - amt;
+ return currRow - amt + 1;
case CURRENT:
return currRow + 1;
case FOLLOWING:
@@ -1468,7 +1457,7 @@ public class WindowingTableFunction extends TableFunctionEvaluator {
return true;
}
- List<Object> nextOutputRow() throws HiveException {
+ private List<Object> nextOutputRow() throws HiveException {
List<Object> oRow = new ArrayList<Object>();
Object iRow = rollingPart.nextOutputRow();
int i = 0;
http://git-wip-us.apache.org/repos/asf/hive/blob/c19efd68/ql/src/test/queries/clientpositive/windowing_windowspec2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/windowing_windowspec2.q b/ql/src/test/queries/clientpositive/windowing_windowspec2.q
index 3e8aa93..d85cea9 100644
--- a/ql/src/test/queries/clientpositive/windowing_windowspec2.q
+++ b/ql/src/test/queries/clientpositive/windowing_windowspec2.q
@@ -17,8 +17,14 @@ create table over10k(
load data local inpath '../../data/files/over10k' into table over10k;
+-- sum
select ts, f, sum(f) over (partition by ts order by f rows between 2 preceding and 1 preceding) from over10k limit 100;
select ts, f, sum(f) over (partition by ts order by f rows between unbounded preceding and 1 preceding) from over10k limit 100;
select ts, f, sum(f) over (partition by ts order by f rows between 1 following and 2 following) from over10k limit 100;
select ts, f, sum(f) over (partition by ts order by f rows between unbounded preceding and 1 following) from over10k limit 100;
+-- count
+select ts, f, count(f) over (partition by ts order by f rows between 2 preceding and 1 preceding) from over10k limit 100;
+select ts, f, count(f) over (partition by ts order by f rows between unbounded preceding and 1 preceding) from over10k limit 100;
+select ts, f, count(f) over (partition by ts order by f rows between 1 following and 2 following) from over10k limit 100;
+select ts, f, count(f) over (partition by ts order by f rows between unbounded preceding and 1 following) from over10k limit 100;
http://git-wip-us.apache.org/repos/asf/hive/blob/c19efd68/ql/src/test/results/clientpositive/windowing_windowspec2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/windowing_windowspec2.q.out b/ql/src/test/results/clientpositive/windowing_windowspec2.q.out
index 0879344..bf91639 100644
--- a/ql/src/test/results/clientpositive/windowing_windowspec2.q.out
+++ b/ql/src/test/results/clientpositive/windowing_windowspec2.q.out
@@ -44,11 +44,13 @@ POSTHOOK: query: load data local inpath '../../data/files/over10k' into table ov
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@over10k
-PREHOOK: query: select ts, f, sum(f) over (partition by ts order by f rows between 2 preceding and 1 preceding) from over10k limit 100
+PREHOOK: query: -- sum
+select ts, f, sum(f) over (partition by ts order by f rows between 2 preceding and 1 preceding) from over10k limit 100
PREHOOK: type: QUERY
PREHOOK: Input: default@over10k
#### A masked pattern was here ####
-POSTHOOK: query: select ts, f, sum(f) over (partition by ts order by f rows between 2 preceding and 1 preceding) from over10k limit 100
+POSTHOOK: query: -- sum
+select ts, f, sum(f) over (partition by ts order by f rows between 2 preceding and 1 preceding) from over10k limit 100
POSTHOOK: type: QUERY
POSTHOOK: Input: default@over10k
#### A masked pattern was here ####
@@ -476,3 +478,437 @@ POSTHOOK: Input: default@over10k
2013-03-01 09:11:58.703072 71.68 802.1099938452244
2013-03-01 09:11:58.703072 79.46 882.1299904882908
2013-03-01 09:11:58.703072 80.02 963.4199914038181
+PREHOOK: query: -- count
+select ts, f, count(f) over (partition by ts order by f rows between 2 preceding and 1 preceding) from over10k limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@over10k
+#### A masked pattern was here ####
+POSTHOOK: query: -- count
+select ts, f, count(f) over (partition by ts order by f rows between 2 preceding and 1 preceding) from over10k limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@over10k
+#### A masked pattern was here ####
+2013-03-01 09:11:58.70307 3.17 0
+2013-03-01 09:11:58.70307 10.89 1
+2013-03-01 09:11:58.70307 14.54 2
+2013-03-01 09:11:58.70307 14.78 2
+2013-03-01 09:11:58.70307 17.85 2
+2013-03-01 09:11:58.70307 20.61 2
+2013-03-01 09:11:58.70307 28.69 2
+2013-03-01 09:11:58.70307 29.22 2
+2013-03-01 09:11:58.70307 31.17 2
+2013-03-01 09:11:58.70307 38.35 2
+2013-03-01 09:11:58.70307 38.61 2
+2013-03-01 09:11:58.70307 39.48 2
+2013-03-01 09:11:58.70307 40.54 2
+2013-03-01 09:11:58.70307 41.6 2
+2013-03-01 09:11:58.70307 46.08 2
+2013-03-01 09:11:58.70307 54.36 2
+2013-03-01 09:11:58.70307 56.94 2
+2013-03-01 09:11:58.70307 64.96 2
+2013-03-01 09:11:58.70307 73.52 2
+2013-03-01 09:11:58.70307 78.58 2
+2013-03-01 09:11:58.70307 81.41 2
+2013-03-01 09:11:58.70307 84.71 2
+2013-03-01 09:11:58.70307 87.43 2
+2013-03-01 09:11:58.70307 91.36 2
+2013-03-01 09:11:58.70307 92.96 2
+2013-03-01 09:11:58.70307 95.04 2
+2013-03-01 09:11:58.703071 0.83 0
+2013-03-01 09:11:58.703071 1.99 1
+2013-03-01 09:11:58.703071 3.73 2
+2013-03-01 09:11:58.703071 8.86 2
+2013-03-01 09:11:58.703071 10.62 2
+2013-03-01 09:11:58.703071 11.32 2
+2013-03-01 09:11:58.703071 12.83 2
+2013-03-01 09:11:58.703071 14.7 2
+2013-03-01 09:11:58.703071 14.96 2
+2013-03-01 09:11:58.703071 17.58 2
+2013-03-01 09:11:58.703071 19.1 2
+2013-03-01 09:11:58.703071 21.01 2
+2013-03-01 09:11:58.703071 26.95 2
+2013-03-01 09:11:58.703071 27.23 2
+2013-03-01 09:11:58.703071 29.07 2
+2013-03-01 09:11:58.703071 29.71 2
+2013-03-01 09:11:58.703071 31.84 2
+2013-03-01 09:11:58.703071 31.94 2
+2013-03-01 09:11:58.703071 35.32 2
+2013-03-01 09:11:58.703071 37.32 2
+2013-03-01 09:11:58.703071 38.5 2
+2013-03-01 09:11:58.703071 42.08 2
+2013-03-01 09:11:58.703071 44.3 2
+2013-03-01 09:11:58.703071 44.66 2
+2013-03-01 09:11:58.703071 46.84 2
+2013-03-01 09:11:58.703071 48.89 2
+2013-03-01 09:11:58.703071 49.64 2
+2013-03-01 09:11:58.703071 50.28 2
+2013-03-01 09:11:58.703071 52.09 2
+2013-03-01 09:11:58.703071 53.26 2
+2013-03-01 09:11:58.703071 54.09 2
+2013-03-01 09:11:58.703071 56.45 2
+2013-03-01 09:11:58.703071 56.76 2
+2013-03-01 09:11:58.703071 61.41 2
+2013-03-01 09:11:58.703071 61.88 2
+2013-03-01 09:11:58.703071 63.03 2
+2013-03-01 09:11:58.703071 64.55 2
+2013-03-01 09:11:58.703071 68.62 2
+2013-03-01 09:11:58.703071 76.13 2
+2013-03-01 09:11:58.703071 79.05 2
+2013-03-01 09:11:58.703071 80.43 2
+2013-03-01 09:11:58.703071 81.41 2
+2013-03-01 09:11:58.703071 82.85 2
+2013-03-01 09:11:58.703071 83.98 2
+2013-03-01 09:11:58.703071 84.21 2
+2013-03-01 09:11:58.703071 85.55 2
+2013-03-01 09:11:58.703071 87.93 2
+2013-03-01 09:11:58.703071 88.93 2
+2013-03-01 09:11:58.703071 94.27 2
+2013-03-01 09:11:58.703071 99.45 2
+2013-03-01 09:11:58.703072 0.36 0
+2013-03-01 09:11:58.703072 0.48 1
+2013-03-01 09:11:58.703072 0.79 2
+2013-03-01 09:11:58.703072 1.27 2
+2013-03-01 09:11:58.703072 4.48 2
+2013-03-01 09:11:58.703072 9.0 2
+2013-03-01 09:11:58.703072 23.27 2
+2013-03-01 09:11:58.703072 25.13 2
+2013-03-01 09:11:58.703072 25.34 2
+2013-03-01 09:11:58.703072 25.91 2
+2013-03-01 09:11:58.703072 29.01 2
+2013-03-01 09:11:58.703072 30.47 2
+2013-03-01 09:11:58.703072 37.95 2
+2013-03-01 09:11:58.703072 39.3 2
+2013-03-01 09:11:58.703072 45.91 2
+2013-03-01 09:11:58.703072 52.44 2
+2013-03-01 09:11:58.703072 54.1 2
+2013-03-01 09:11:58.703072 56.7 2
+2013-03-01 09:11:58.703072 58.77 2
+2013-03-01 09:11:58.703072 62.09 2
+2013-03-01 09:11:58.703072 68.2 2
+2013-03-01 09:11:58.703072 71.68 2
+2013-03-01 09:11:58.703072 79.46 2
+2013-03-01 09:11:58.703072 80.02 2
+PREHOOK: query: select ts, f, count(f) over (partition by ts order by f rows between unbounded preceding and 1 preceding) from over10k limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@over10k
+#### A masked pattern was here ####
+POSTHOOK: query: select ts, f, count(f) over (partition by ts order by f rows between unbounded preceding and 1 preceding) from over10k limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@over10k
+#### A masked pattern was here ####
+2013-03-01 09:11:58.70307 3.17 0
+2013-03-01 09:11:58.70307 10.89 1
+2013-03-01 09:11:58.70307 14.54 2
+2013-03-01 09:11:58.70307 14.78 3
+2013-03-01 09:11:58.70307 17.85 4
+2013-03-01 09:11:58.70307 20.61 5
+2013-03-01 09:11:58.70307 28.69 6
+2013-03-01 09:11:58.70307 29.22 7
+2013-03-01 09:11:58.70307 31.17 8
+2013-03-01 09:11:58.70307 38.35 9
+2013-03-01 09:11:58.70307 38.61 10
+2013-03-01 09:11:58.70307 39.48 11
+2013-03-01 09:11:58.70307 40.54 12
+2013-03-01 09:11:58.70307 41.6 13
+2013-03-01 09:11:58.70307 46.08 14
+2013-03-01 09:11:58.70307 54.36 15
+2013-03-01 09:11:58.70307 56.94 16
+2013-03-01 09:11:58.70307 64.96 17
+2013-03-01 09:11:58.70307 73.52 18
+2013-03-01 09:11:58.70307 78.58 19
+2013-03-01 09:11:58.70307 81.41 20
+2013-03-01 09:11:58.70307 84.71 21
+2013-03-01 09:11:58.70307 87.43 22
+2013-03-01 09:11:58.70307 91.36 23
+2013-03-01 09:11:58.70307 92.96 24
+2013-03-01 09:11:58.70307 95.04 25
+2013-03-01 09:11:58.703071 0.83 0
+2013-03-01 09:11:58.703071 1.99 1
+2013-03-01 09:11:58.703071 3.73 2
+2013-03-01 09:11:58.703071 8.86 3
+2013-03-01 09:11:58.703071 10.62 4
+2013-03-01 09:11:58.703071 11.32 5
+2013-03-01 09:11:58.703071 12.83 6
+2013-03-01 09:11:58.703071 14.7 7
+2013-03-01 09:11:58.703071 14.96 8
+2013-03-01 09:11:58.703071 17.58 9
+2013-03-01 09:11:58.703071 19.1 10
+2013-03-01 09:11:58.703071 21.01 11
+2013-03-01 09:11:58.703071 26.95 12
+2013-03-01 09:11:58.703071 27.23 13
+2013-03-01 09:11:58.703071 29.07 14
+2013-03-01 09:11:58.703071 29.71 15
+2013-03-01 09:11:58.703071 31.84 16
+2013-03-01 09:11:58.703071 31.94 17
+2013-03-01 09:11:58.703071 35.32 18
+2013-03-01 09:11:58.703071 37.32 19
+2013-03-01 09:11:58.703071 38.5 20
+2013-03-01 09:11:58.703071 42.08 21
+2013-03-01 09:11:58.703071 44.3 22
+2013-03-01 09:11:58.703071 44.66 23
+2013-03-01 09:11:58.703071 46.84 24
+2013-03-01 09:11:58.703071 48.89 25
+2013-03-01 09:11:58.703071 49.64 26
+2013-03-01 09:11:58.703071 50.28 27
+2013-03-01 09:11:58.703071 52.09 28
+2013-03-01 09:11:58.703071 53.26 29
+2013-03-01 09:11:58.703071 54.09 30
+2013-03-01 09:11:58.703071 56.45 31
+2013-03-01 09:11:58.703071 56.76 32
+2013-03-01 09:11:58.703071 61.41 33
+2013-03-01 09:11:58.703071 61.88 34
+2013-03-01 09:11:58.703071 63.03 35
+2013-03-01 09:11:58.703071 64.55 36
+2013-03-01 09:11:58.703071 68.62 37
+2013-03-01 09:11:58.703071 76.13 38
+2013-03-01 09:11:58.703071 79.05 39
+2013-03-01 09:11:58.703071 80.43 40
+2013-03-01 09:11:58.703071 81.41 41
+2013-03-01 09:11:58.703071 82.85 42
+2013-03-01 09:11:58.703071 83.98 43
+2013-03-01 09:11:58.703071 84.21 44
+2013-03-01 09:11:58.703071 85.55 45
+2013-03-01 09:11:58.703071 87.93 46
+2013-03-01 09:11:58.703071 88.93 47
+2013-03-01 09:11:58.703071 94.27 48
+2013-03-01 09:11:58.703071 99.45 49
+2013-03-01 09:11:58.703072 0.36 0
+2013-03-01 09:11:58.703072 0.48 1
+2013-03-01 09:11:58.703072 0.79 2
+2013-03-01 09:11:58.703072 1.27 3
+2013-03-01 09:11:58.703072 4.48 4
+2013-03-01 09:11:58.703072 9.0 5
+2013-03-01 09:11:58.703072 23.27 6
+2013-03-01 09:11:58.703072 25.13 7
+2013-03-01 09:11:58.703072 25.34 8
+2013-03-01 09:11:58.703072 25.91 9
+2013-03-01 09:11:58.703072 29.01 10
+2013-03-01 09:11:58.703072 30.47 11
+2013-03-01 09:11:58.703072 37.95 12
+2013-03-01 09:11:58.703072 39.3 13
+2013-03-01 09:11:58.703072 45.91 14
+2013-03-01 09:11:58.703072 52.44 15
+2013-03-01 09:11:58.703072 54.1 16
+2013-03-01 09:11:58.703072 56.7 17
+2013-03-01 09:11:58.703072 58.77 18
+2013-03-01 09:11:58.703072 62.09 19
+2013-03-01 09:11:58.703072 68.2 20
+2013-03-01 09:11:58.703072 71.68 21
+2013-03-01 09:11:58.703072 79.46 22
+2013-03-01 09:11:58.703072 80.02 23
+PREHOOK: query: select ts, f, count(f) over (partition by ts order by f rows between 1 following and 2 following) from over10k limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@over10k
+#### A masked pattern was here ####
+POSTHOOK: query: select ts, f, count(f) over (partition by ts order by f rows between 1 following and 2 following) from over10k limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@over10k
+#### A masked pattern was here ####
+2013-03-01 09:11:58.70307 3.17 2
+2013-03-01 09:11:58.70307 10.89 2
+2013-03-01 09:11:58.70307 14.54 2
+2013-03-01 09:11:58.70307 14.78 2
+2013-03-01 09:11:58.70307 17.85 2
+2013-03-01 09:11:58.70307 20.61 2
+2013-03-01 09:11:58.70307 28.69 2
+2013-03-01 09:11:58.70307 29.22 2
+2013-03-01 09:11:58.70307 31.17 2
+2013-03-01 09:11:58.70307 38.35 2
+2013-03-01 09:11:58.70307 38.61 2
+2013-03-01 09:11:58.70307 39.48 2
+2013-03-01 09:11:58.70307 40.54 2
+2013-03-01 09:11:58.70307 41.6 2
+2013-03-01 09:11:58.70307 46.08 2
+2013-03-01 09:11:58.70307 54.36 2
+2013-03-01 09:11:58.70307 56.94 2
+2013-03-01 09:11:58.70307 64.96 2
+2013-03-01 09:11:58.70307 73.52 2
+2013-03-01 09:11:58.70307 78.58 2
+2013-03-01 09:11:58.70307 81.41 2
+2013-03-01 09:11:58.70307 84.71 2
+2013-03-01 09:11:58.70307 87.43 2
+2013-03-01 09:11:58.70307 91.36 2
+2013-03-01 09:11:58.70307 92.96 1
+2013-03-01 09:11:58.70307 95.04 0
+2013-03-01 09:11:58.703071 0.83 2
+2013-03-01 09:11:58.703071 1.99 2
+2013-03-01 09:11:58.703071 3.73 2
+2013-03-01 09:11:58.703071 8.86 2
+2013-03-01 09:11:58.703071 10.62 2
+2013-03-01 09:11:58.703071 11.32 2
+2013-03-01 09:11:58.703071 12.83 2
+2013-03-01 09:11:58.703071 14.7 2
+2013-03-01 09:11:58.703071 14.96 2
+2013-03-01 09:11:58.703071 17.58 2
+2013-03-01 09:11:58.703071 19.1 2
+2013-03-01 09:11:58.703071 21.01 2
+2013-03-01 09:11:58.703071 26.95 2
+2013-03-01 09:11:58.703071 27.23 2
+2013-03-01 09:11:58.703071 29.07 2
+2013-03-01 09:11:58.703071 29.71 2
+2013-03-01 09:11:58.703071 31.84 2
+2013-03-01 09:11:58.703071 31.94 2
+2013-03-01 09:11:58.703071 35.32 2
+2013-03-01 09:11:58.703071 37.32 2
+2013-03-01 09:11:58.703071 38.5 2
+2013-03-01 09:11:58.703071 42.08 2
+2013-03-01 09:11:58.703071 44.3 2
+2013-03-01 09:11:58.703071 44.66 2
+2013-03-01 09:11:58.703071 46.84 2
+2013-03-01 09:11:58.703071 48.89 2
+2013-03-01 09:11:58.703071 49.64 2
+2013-03-01 09:11:58.703071 50.28 2
+2013-03-01 09:11:58.703071 52.09 2
+2013-03-01 09:11:58.703071 53.26 2
+2013-03-01 09:11:58.703071 54.09 2
+2013-03-01 09:11:58.703071 56.45 2
+2013-03-01 09:11:58.703071 56.76 2
+2013-03-01 09:11:58.703071 61.41 2
+2013-03-01 09:11:58.703071 61.88 2
+2013-03-01 09:11:58.703071 63.03 2
+2013-03-01 09:11:58.703071 64.55 2
+2013-03-01 09:11:58.703071 68.62 2
+2013-03-01 09:11:58.703071 76.13 2
+2013-03-01 09:11:58.703071 79.05 2
+2013-03-01 09:11:58.703071 80.43 2
+2013-03-01 09:11:58.703071 81.41 2
+2013-03-01 09:11:58.703071 82.85 2
+2013-03-01 09:11:58.703071 83.98 2
+2013-03-01 09:11:58.703071 84.21 2
+2013-03-01 09:11:58.703071 85.55 2
+2013-03-01 09:11:58.703071 87.93 2
+2013-03-01 09:11:58.703071 88.93 2
+2013-03-01 09:11:58.703071 94.27 1
+2013-03-01 09:11:58.703071 99.45 0
+2013-03-01 09:11:58.703072 0.36 2
+2013-03-01 09:11:58.703072 0.48 2
+2013-03-01 09:11:58.703072 0.79 2
+2013-03-01 09:11:58.703072 1.27 2
+2013-03-01 09:11:58.703072 4.48 2
+2013-03-01 09:11:58.703072 9.0 2
+2013-03-01 09:11:58.703072 23.27 2
+2013-03-01 09:11:58.703072 25.13 2
+2013-03-01 09:11:58.703072 25.34 2
+2013-03-01 09:11:58.703072 25.91 2
+2013-03-01 09:11:58.703072 29.01 2
+2013-03-01 09:11:58.703072 30.47 2
+2013-03-01 09:11:58.703072 37.95 2
+2013-03-01 09:11:58.703072 39.3 2
+2013-03-01 09:11:58.703072 45.91 2
+2013-03-01 09:11:58.703072 52.44 2
+2013-03-01 09:11:58.703072 54.1 2
+2013-03-01 09:11:58.703072 56.7 2
+2013-03-01 09:11:58.703072 58.77 2
+2013-03-01 09:11:58.703072 62.09 2
+2013-03-01 09:11:58.703072 68.2 2
+2013-03-01 09:11:58.703072 71.68 2
+2013-03-01 09:11:58.703072 79.46 2
+2013-03-01 09:11:58.703072 80.02 2
+PREHOOK: query: select ts, f, count(f) over (partition by ts order by f rows between unbounded preceding and 1 following) from over10k limit 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@over10k
+#### A masked pattern was here ####
+POSTHOOK: query: select ts, f, count(f) over (partition by ts order by f rows between unbounded preceding and 1 following) from over10k limit 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@over10k
+#### A masked pattern was here ####
+2013-03-01 09:11:58.70307 3.17 2
+2013-03-01 09:11:58.70307 10.89 3
+2013-03-01 09:11:58.70307 14.54 4
+2013-03-01 09:11:58.70307 14.78 5
+2013-03-01 09:11:58.70307 17.85 6
+2013-03-01 09:11:58.70307 20.61 7
+2013-03-01 09:11:58.70307 28.69 8
+2013-03-01 09:11:58.70307 29.22 9
+2013-03-01 09:11:58.70307 31.17 10
+2013-03-01 09:11:58.70307 38.35 11
+2013-03-01 09:11:58.70307 38.61 12
+2013-03-01 09:11:58.70307 39.48 13
+2013-03-01 09:11:58.70307 40.54 14
+2013-03-01 09:11:58.70307 41.6 15
+2013-03-01 09:11:58.70307 46.08 16
+2013-03-01 09:11:58.70307 54.36 17
+2013-03-01 09:11:58.70307 56.94 18
+2013-03-01 09:11:58.70307 64.96 19
+2013-03-01 09:11:58.70307 73.52 20
+2013-03-01 09:11:58.70307 78.58 21
+2013-03-01 09:11:58.70307 81.41 22
+2013-03-01 09:11:58.70307 84.71 23
+2013-03-01 09:11:58.70307 87.43 24
+2013-03-01 09:11:58.70307 91.36 25
+2013-03-01 09:11:58.70307 92.96 26
+2013-03-01 09:11:58.70307 95.04 26
+2013-03-01 09:11:58.703071 0.83 2
+2013-03-01 09:11:58.703071 1.99 3
+2013-03-01 09:11:58.703071 3.73 4
+2013-03-01 09:11:58.703071 8.86 5
+2013-03-01 09:11:58.703071 10.62 6
+2013-03-01 09:11:58.703071 11.32 7
+2013-03-01 09:11:58.703071 12.83 8
+2013-03-01 09:11:58.703071 14.7 9
+2013-03-01 09:11:58.703071 14.96 10
+2013-03-01 09:11:58.703071 17.58 11
+2013-03-01 09:11:58.703071 19.1 12
+2013-03-01 09:11:58.703071 21.01 13
+2013-03-01 09:11:58.703071 26.95 14
+2013-03-01 09:11:58.703071 27.23 15
+2013-03-01 09:11:58.703071 29.07 16
+2013-03-01 09:11:58.703071 29.71 17
+2013-03-01 09:11:58.703071 31.84 18
+2013-03-01 09:11:58.703071 31.94 19
+2013-03-01 09:11:58.703071 35.32 20
+2013-03-01 09:11:58.703071 37.32 21
+2013-03-01 09:11:58.703071 38.5 22
+2013-03-01 09:11:58.703071 42.08 23
+2013-03-01 09:11:58.703071 44.3 24
+2013-03-01 09:11:58.703071 44.66 25
+2013-03-01 09:11:58.703071 46.84 26
+2013-03-01 09:11:58.703071 48.89 27
+2013-03-01 09:11:58.703071 49.64 28
+2013-03-01 09:11:58.703071 50.28 29
+2013-03-01 09:11:58.703071 52.09 30
+2013-03-01 09:11:58.703071 53.26 31
+2013-03-01 09:11:58.703071 54.09 32
+2013-03-01 09:11:58.703071 56.45 33
+2013-03-01 09:11:58.703071 56.76 34
+2013-03-01 09:11:58.703071 61.41 35
+2013-03-01 09:11:58.703071 61.88 36
+2013-03-01 09:11:58.703071 63.03 37
+2013-03-01 09:11:58.703071 64.55 38
+2013-03-01 09:11:58.703071 68.62 39
+2013-03-01 09:11:58.703071 76.13 40
+2013-03-01 09:11:58.703071 79.05 41
+2013-03-01 09:11:58.703071 80.43 42
+2013-03-01 09:11:58.703071 81.41 43
+2013-03-01 09:11:58.703071 82.85 44
+2013-03-01 09:11:58.703071 83.98 45
+2013-03-01 09:11:58.703071 84.21 46
+2013-03-01 09:11:58.703071 85.55 47
+2013-03-01 09:11:58.703071 87.93 48
+2013-03-01 09:11:58.703071 88.93 49
+2013-03-01 09:11:58.703071 94.27 50
+2013-03-01 09:11:58.703071 99.45 50
+2013-03-01 09:11:58.703072 0.36 2
+2013-03-01 09:11:58.703072 0.48 3
+2013-03-01 09:11:58.703072 0.79 4
+2013-03-01 09:11:58.703072 1.27 5
+2013-03-01 09:11:58.703072 4.48 6
+2013-03-01 09:11:58.703072 9.0 7
+2013-03-01 09:11:58.703072 23.27 8
+2013-03-01 09:11:58.703072 25.13 9
+2013-03-01 09:11:58.703072 25.34 10
+2013-03-01 09:11:58.703072 25.91 11
+2013-03-01 09:11:58.703072 29.01 12
+2013-03-01 09:11:58.703072 30.47 13
+2013-03-01 09:11:58.703072 37.95 14
+2013-03-01 09:11:58.703072 39.3 15
+2013-03-01 09:11:58.703072 45.91 16
+2013-03-01 09:11:58.703072 52.44 17
+2013-03-01 09:11:58.703072 54.1 18
+2013-03-01 09:11:58.703072 56.7 19
+2013-03-01 09:11:58.703072 58.77 20
+2013-03-01 09:11:58.703072 62.09 21
+2013-03-01 09:11:58.703072 68.2 22
+2013-03-01 09:11:58.703072 71.68 23
+2013-03-01 09:11:58.703072 79.46 24
+2013-03-01 09:11:58.703072 80.02 25