我正在使用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历史记录文件的位置。

09-12 11:25