Hive@cygwinのソース変更
Hive(v0.7.1)をcygwinで動かすためには、以下tmpディレクトリの変更(参考)と、
<property> <name>mapred.child.tmp</name> <value>../work2/tmp</value> </property>
以下ソース変更が必要だった(参考)。
if (gWork == null) {
String jtConf = HiveConf.getVar(job, HiveConf.ConfVars.HADOOPJT);
String path;
//if (jtConf.equals("local")) {
// String planPath = HiveConf.getVar(job, HiveConf.ConfVars.PLAN);
// path = new Path(planPath).toUri().getPath();
//} else {
// path = "HIVE_PLAN" + jobID;
//}
//InputStream in = new FileInputStream(path);
Path planPath = new Path(HiveConf.getVar(job, HiveConf.ConfVars.PLAN));
FileSystem fs = planPath.getFileSystem(job);
InputStream in = fs.open(planPath);
MapredWork ret = deserializeMapRedWork(in, job);
gWork = ret;
gWork.initialize();
gWorkMap.put(jobID, gWork);
}
以前は、でもこんなことをしなくても動いていたような気もするのだけど。。。