You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jx...@apache.org on 2015/09/15 18:36:04 UTC
[1/2] hive git commit: HIVE-11814: Emit query time in lineage info
(Jimmy, reviewed by Ashutosh)
Repository: hive
Updated Branches:
refs/heads/branch-1 ba902bb7a -> 027756720
HIVE-11814: Emit query time in lineage info (Jimmy, reviewed by Ashutosh)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e24a41cc
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e24a41cc
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e24a41cc
Branch: refs/heads/branch-1
Commit: e24a41cc1928585b53ca944cb9c24c2664fa2a28
Parents: ba902bb
Author: Jimmy Xiang <jx...@cloudera.com>
Authored: Mon Sep 14 09:25:04 2015 -0700
Committer: Jimmy Xiang <jx...@cloudera.com>
Committed: Tue Sep 15 09:32:35 2015 -0700
----------------------------------------------------------------------
ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/e24a41cc/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java
index 763e1f9..7d17936 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java
@@ -151,8 +151,10 @@ public class LineageLogger implements ExecuteWithHookContext {
// so that the test golden output file is fixed.
long queryTime = plan.getQueryStartTime().longValue();
if (queryTime == 0) queryTime = System.currentTimeMillis();
+ long duration = System.currentTimeMillis() - queryTime;
writer.name("user").value(hookContext.getUgi().getUserName());
writer.name("timestamp").value(queryTime/1000);
+ writer.name("duration").value(duration);
writer.name("jobIds");
writer.beginArray();
List<TaskRunner> tasks = hookContext.getCompleteTaskList();
[2/2] hive git commit: HIVE-11817: Window function max
NullPointerException (Jimmy, reviewed by Szehon)
Posted by jx...@apache.org.
HIVE-11817: Window function max NullPointerException (Jimmy, reviewed by Szehon)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/02775672
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/02775672
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/02775672
Branch: refs/heads/branch-1
Commit: 02775672089cb38f0046a9ad4ba520c350622c57
Parents: e24a41c
Author: Jimmy Xiang <jx...@cloudera.com>
Authored: Mon Sep 14 12:47:18 2015 -0700
Committer: Jimmy Xiang <jx...@cloudera.com>
Committed: Tue Sep 15 09:32:39 2015 -0700
----------------------------------------------------------------------
.../hadoop/hive/ql/udf/generic/GenericUDAFMax.java | 16 +++++++++-------
ql/src/test/queries/clientpositive/windowing_udaf.q | 4 ++++
.../results/clientpositive/windowing_udaf.q.out | 12 ++++++++++++
3 files changed, 25 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/02775672/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMax.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMax.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMax.java
index 33600f2..55a6a62 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMax.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMax.java
@@ -287,14 +287,16 @@ public class GenericUDAFMax extends AbstractGenericUDAFResolver {
// For the case: X following and Y following, process first Y-X results and then insert X nulls.
// For the case X preceding and Y following, process Y results.
for (int i = Math.max(0, wFrameDef.getStart().getRelativeOffset()); i < wFrameDef.getEnd().getRelativeOffset(); i++) {
- s.results.add(r[0]);
+ s.results.add(r == null ? null : r[0]);
s.numRows++;
- int fIdx = (Integer) r[1];
- if (!wFrameDef.isStartUnbounded()
- && s.numRows + i >= fIdx + wFrameDef.getWindowSize()
- && !s.maxChain.isEmpty()) {
- s.maxChain.removeFirst();
- r = !s.maxChain.isEmpty() ? s.maxChain.getFirst() : r;
+ if (r != null) {
+ int fIdx = (Integer) r[1];
+ if (!wFrameDef.isStartUnbounded()
+ && s.numRows + i >= fIdx + wFrameDef.getWindowSize()
+ && !s.maxChain.isEmpty()) {
+ s.maxChain.removeFirst();
+ r = !s.maxChain.isEmpty() ? s.maxChain.getFirst() : r;
+ }
}
}
for (int i = 0; i < wFrameDef.getStart().getRelativeOffset(); i++) {
http://git-wip-us.apache.org/repos/asf/hive/blob/02775672/ql/src/test/queries/clientpositive/windowing_udaf.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/windowing_udaf.q b/ql/src/test/queries/clientpositive/windowing_udaf.q
index 0173ab7..45c5e5b 100644
--- a/ql/src/test/queries/clientpositive/windowing_udaf.q
+++ b/ql/src/test/queries/clientpositive/windowing_udaf.q
@@ -26,3 +26,7 @@ select s, avg(i) over (partition by t, b order by s) from over10k limit 100;
select max(i) over w from over10k window w as (partition by f) limit 100;
select s, avg(d) over (partition by t order by f) from over10k limit 100;
+
+select key, max(value) over
+ (order by key rows between 10 preceding and 20 following)
+from src1 where length(key) > 10;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/02775672/ql/src/test/results/clientpositive/windowing_udaf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/windowing_udaf.q.out b/ql/src/test/results/clientpositive/windowing_udaf.q.out
index 9d50251..298c1dd 100644
--- a/ql/src/test/results/clientpositive/windowing_udaf.q.out
+++ b/ql/src/test/results/clientpositive/windowing_udaf.q.out
@@ -584,3 +584,15 @@ zach zipper 19.822727272727274
ulysses king 18.273333333333333
bob king 17.664615384615384
luke carson 18.02785714285714
+PREHOOK: query: select key, max(value) over
+ (order by key rows between 10 preceding and 20 following)
+from src1 where length(key) > 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select key, max(value) over
+ (order by key rows between 10 preceding and 20 following)
+from src1 where length(key) > 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####