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/11/13 01:45:22 UTC

hive git commit: HIVE-12265: Generate lineage info only if requested (Jimmy, reviewed by Chao)

Repository: hive
Updated Branches:
  refs/heads/branch-1 ee36f3f25 -> 34d4276ca


HIVE-12265: Generate lineage info only if requested (Jimmy, reviewed by Chao)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/34d4276c
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/34d4276c
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/34d4276c

Branch: refs/heads/branch-1
Commit: 34d4276ca38e48611e59db97af3bb817e85ce0e9
Parents: ee36f3f
Author: Jimmy Xiang <jx...@cloudera.com>
Authored: Mon Oct 26 10:20:25 2015 -0700
Committer: Jimmy Xiang <jx...@apache.org>
Committed: Thu Nov 12 16:25:17 2015 -0800

----------------------------------------------------------------------
 .../apache/hadoop/hive/ql/optimizer/Optimizer.java    | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/34d4276c/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
index e6db133..1fc1ad0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/Optimizer.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.hive.ql.optimizer;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -41,6 +42,10 @@ import org.apache.hadoop.hive.ql.ppd.PredicatePushDown;
 import org.apache.hadoop.hive.ql.ppd.PredicateTransitivePropagate;
 import org.apache.hadoop.hive.ql.ppd.SyntheticJoinPredicate;
 
+import com.google.common.base.Splitter;
+import com.google.common.base.Strings;
+import com.google.common.collect.Sets;
+
 /**
  * Implementation of the optimizer.
  */
@@ -67,7 +72,14 @@ public class Optimizer {
     transformations.add(new HiveOpConverterPostProc());
 
     // Add the transformation that computes the lineage information.
-    transformations.add(new Generator());
+    Set<String> postExecHooks = Sets.newHashSet(
+      Splitter.on(",").trimResults().omitEmptyStrings().split(
+        Strings.nullToEmpty(HiveConf.getVar(hiveConf, HiveConf.ConfVars.POSTEXECHOOKS))));
+    if (postExecHooks.contains("org.apache.hadoop.hive.ql.hooks.PostExecutePrinter")
+        || postExecHooks.contains("org.apache.hadoop.hive.ql.hooks.LineageLogger")) {
+      transformations.add(new Generator());
+    }
+
     if (HiveConf.getBoolVar(hiveConf, HiveConf.ConfVars.HIVEOPTPPD)) {
       transformations.add(new PredicateTransitivePropagate());
       if (HiveConf.getBoolVar(hiveConf, HiveConf.ConfVars.HIVEOPTCONSTANTPROPAGATION)) {