You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/04/28 22:36:46 UTC
svn commit: r1476830 - in
/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql:
Driver.java exec/Utilities.java
Author: hashutosh
Date: Sun Apr 28 20:36:46 2013
New Revision: 1476830
URL: http://svn.apache.org/r1476830
Log:
HIVE-3708 : Add mapreduce workflow information to job configuration (Billie Rinaldi via Ashutosh Chauhan)
Modified:
hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
Modified: hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/Driver.java?rev=1476830&r1=1476829&r2=1476830&view=diff
==============================================================================
--- hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/Driver.java (original)
+++ hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/Driver.java Sun Apr 28 20:36:46 2013
@@ -1056,6 +1056,10 @@ public class Driver implements CommandPr
conf.setVar(HiveConf.ConfVars.HIVEQUERYID, queryId);
conf.setVar(HiveConf.ConfVars.HIVEQUERYSTRING, queryStr);
+
+ conf.set("mapreduce.workflow.id", "hive_"+queryId);
+ conf.set("mapreduce.workflow.name", queryStr);
+
maxthreads = HiveConf.getIntVar(conf, HiveConf.ConfVars.EXECPARALLETHREADNUMBER);
try {
@@ -1334,6 +1338,8 @@ public class Driver implements CommandPr
if (noName) {
conf.setVar(HiveConf.ConfVars.HADOOPJOBNAME, jobname + "(" + tsk.getId() + ")");
}
+ conf.set("mapreduce.workflow.node.name", tsk.getId());
+ Utilities.setWorkflowAdjacencies(conf, plan);
cxt.incCurJobNo(1);
console.printInfo("Launching Job " + cxt.getCurJobNo() + " out of " + jobs);
}
Modified: hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java?rev=1476830&r1=1476829&r2=1476830&view=diff
==============================================================================
--- hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java (original)
+++ hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java Sun Apr 28 20:36:46 2013
@@ -121,6 +121,8 @@ import org.apache.hadoop.hive.ql.plan.Ma
import org.apache.hadoop.hive.ql.plan.PartitionDesc;
import org.apache.hadoop.hive.ql.plan.PlanUtils;
import org.apache.hadoop.hive.ql.plan.PlanUtils.ExpressionTypes;
+import org.apache.hadoop.hive.ql.plan.api.Adjacency;
+import org.apache.hadoop.hive.ql.plan.api.Graph;
import org.apache.hadoop.hive.ql.plan.TableDesc;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.stats.StatsFactory;
@@ -229,6 +231,25 @@ public final class Utilities {
}
}
+ public static void setWorkflowAdjacencies(Configuration conf, QueryPlan plan) {
+ try {
+ Graph stageGraph = plan.getQueryPlan().getStageGraph();
+ if (stageGraph == null)
+ return;
+ List<Adjacency> adjList = stageGraph.getAdjacencyList();
+ if (adjList == null)
+ return;
+ for (Adjacency adj : adjList) {
+ List<String> children = adj.getChildren();
+ if (children == null || children.isEmpty())
+ return;
+ conf.setStrings("mapreduce.workflow.adjacency."+adj.getNode(),
+ children.toArray(new String[children.size()]));
+ }
+ } catch (IOException e) {
+ }
+ }
+
public static List<String> getFieldSchemaString(List<FieldSchema> fl) {
if (fl == null) {
return null;