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/26 17:20:30 UTC
svn commit: r1476252 - in /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql:
Driver.java exec/Utilities.java
Author: hashutosh
Date: Fri Apr 26 15:20:30 2013
New Revision: 1476252
URL: http://svn.apache.org/r1476252
Log:
HIVE-3708 : Add mapreduce workflow information to job configuration (Billie Rinaldi via Ashutosh Chauhan)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java?rev=1476252&r1=1476251&r2=1476252&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java Fri Apr 26 15:20:30 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/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java?rev=1476252&r1=1476251&r2=1476252&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java Fri Apr 26 15:20:30 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;