diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index c2de3bc..8332ffb 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -8670,7 +8670,7 @@ public void analyzeInternal(ASTNode ast) throws SemanticException { if (!ctx.getExplainLogical()) { // At this point we have the complete operator tree // from which we want to create the map-reduce plan - TaskCompiler compiler = TaskCompilerFactory.getCompiler(conf); + TaskCompiler compiler = TaskCompilerFactory.getCompiler(conf, pCtx); compiler.init(conf, console, db); compiler.compile(pCtx, rootTasks, inputs, outputs); fetchTask = pCtx.getFetchTask(); diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompilerFactory.java ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompilerFactory.java index 3308e18..dd83d15 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompilerFactory.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompilerFactory.java @@ -34,8 +34,9 @@ private TaskCompilerFactory() { * Returns the appropriate compiler to translate the operator tree * into executable units. */ - public static TaskCompiler getCompiler(HiveConf conf) { - if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_OPTIMIZE_TEZ)) { + public static TaskCompiler getCompiler(HiveConf conf, ParseContext parseContext) { + if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_OPTIMIZE_TEZ) + && !parseContext.getQB().getParseInfo().isAnalyzeCommand()) { return new TezCompiler(); } else { return new MapReduceCompiler();