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)) {