我正在使用beeline连接到HIVE服务器。
登录用户无权访问其默认HOME目录。
因此,登录后,我将ENV VAR HOME手动更改为我可以访问的位置。
但是,beeline不尊重我设置的HOME ENV变量。
有没有一种方法可以将HISTORY FILE位置设置为/home/{user}/.beeline
以外的其他位置
最佳答案
这是定义beeline
历史记录文件位置的代码:
/**
* The save directory if HOME/.beeline/ on UNIX, and
* HOME/beeline/ on Windows.
*/
public File saveDir() {
String dir = System.getProperty("beeline.rcfile");
if (dir != null && dir.length() > 0) {
return new File(dir);
}
File f = new File(System.getProperty("user.home"),
(System.getProperty("os.name").toLowerCase()
.indexOf("windows") != -1 ? "" : ".") + "beeline")
.getAbsoluteFile();
try {
f.mkdirs();
} catch (Exception e) {
}
return f;
}
您只能通过使用
beeline JVM
选项运行-Duser.home=/new/home/dir
来更改Hive-beeline历史记录文件的位置。