Index: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java =================================================================== --- common/src/java/org/apache/hadoop/hive/conf/HiveConf.java (revision 1589303) +++ common/src/java/org/apache/hadoop/hive/conf/HiveConf.java (working copy) @@ -1022,6 +1022,7 @@ HIVE_CHECK_CROSS_PRODUCT("hive.exec.check.crossproducts", true), HIVE_LOCALIZE_RESOURCE_WAIT_INTERVAL("hive.localize.resource.wait.interval", 5000L), // in ms HIVE_LOCALIZE_RESOURCE_NUM_WAIT_ATTEMPTS("hive.localize.resource.num.wait.attempts", 5), + HIVE_HADOOP_CLASSPATH("hive.hadoop.classpath", null), ; public final String varname; Index: ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java (revision 1589303) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/mr/MapredLocalTask.java (working copy) @@ -229,6 +229,17 @@ variables.put(HADOOP_OPTS_KEY, hadoopOpts); } + // For Windows OS, we need to pass HIVE_HADOOP_CLASSPATH java parameter + // while starting hiveserver2 using "-hiveconf hive.hadoop.classpath=%HIVE_LIB%" + if (HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_HADOOP_CLASSPATH)!= null && + variables.containsKey("HADOOP_CLASSPATH")) { + variables.put("HADOOP_CLASSPATH", variables.get("HADOOP_CLASSPATH") + ";" + + HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_HADOOP_CLASSPATH)); + } else { + variables.put("HADOOP_CLASSPATH", + HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_HADOOP_CLASSPATH)); + } + if(variables.containsKey(MapRedTask.HIVE_DEBUG_RECURSIVE)) { MapRedTask.configureDebugVariablesForChildJVM(variables); }