diff --git beeline/src/java/org/apache/hive/beeline/BeeLine.java beeline/src/java/org/apache/hive/beeline/BeeLine.java index c760c94..0006b57 100644 --- beeline/src/java/org/apache/hive/beeline/BeeLine.java +++ beeline/src/java/org/apache/hive/beeline/BeeLine.java @@ -1233,8 +1233,10 @@ String getPrompt() { return "beeline> "; } else { String printClosed = getDatabaseConnection().isClosed() ? " (closed)" : ""; + String url = getOpts().getShowConnectedUrl() ? getDatabaseConnection().getConnectedUrl() + : getDatabaseConnection().getUrl(); return getPrompt(getDatabaseConnections().getIndex() - + ": " + getDatabaseConnection().getUrl()) + printClosed + "> "; + + ": " + url) + printClosed + "> "; } } diff --git beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java index d8b8b78..a31c49c 100644 --- beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java +++ beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java @@ -80,6 +80,7 @@ private String outputFormat = "table"; private boolean trimScripts = true; private boolean allowMultiLineCommand = true; + private boolean showConnectedUrl = false; //This can be set for old behavior of nulls printed as empty strings private boolean nullEmptyString = false; @@ -434,6 +435,14 @@ public boolean getAutosave() { return autosave; } + public boolean getShowConnectedUrl() { + return showConnectedUrl; + } + + public void setShowConnectedUrl(boolean showConnectedUrl) { + this.showConnectedUrl = showConnectedUrl; + } + public void setOutputFormat(String outputFormat) { if(outputFormat.equalsIgnoreCase("csv") || outputFormat.equalsIgnoreCase("tsv")) { beeLine.info("Format " + outputFormat + " is deprecated, please use " + outputFormat + "2"); diff --git beeline/src/java/org/apache/hive/beeline/DatabaseConnection.java beeline/src/java/org/apache/hive/beeline/DatabaseConnection.java index 02b2eec..e349a49 100644 --- beeline/src/java/org/apache/hive/beeline/DatabaseConnection.java +++ beeline/src/java/org/apache/hive/beeline/DatabaseConnection.java @@ -38,6 +38,8 @@ import java.util.Set; import java.util.TreeSet; +import org.apache.hive.jdbc.HiveConnection; + import jline.console.completer.ArgumentCompleter; import jline.console.completer.Completer; @@ -264,6 +266,13 @@ String getUrl() { return url; } + public String getConnectedUrl() { + if (connection instanceof HiveConnection) { + return ((HiveConnection) connection).getConnectedUrl(); + } + return getUrl(); + } + Completer getSQLCompleter() { return sqlCompleter; } diff --git beeline/src/main/resources/BeeLine.properties beeline/src/main/resources/BeeLine.properties index 756c334..6606769 100644 --- beeline/src/main/resources/BeeLine.properties +++ beeline/src/main/resources/BeeLine.properties @@ -178,6 +178,7 @@ cmd-usage: Usage: java org.apache.hive.cli.beeline.BeeLine \n \ \ --nullemptystring=[true/false] set to true to get historic behavior of printing null as empty string\n \ \ --addlocaldriverjar=DRIVERJARNAME Add driver jar file in the beeline client side\n \ \ --addlocaldrivername=DRIVERNAME Add drvier name needs to be supported in the beeline client side\n \ +\ --showConnectedUrl=[true/false] prompt HiveServer2's IP to which this beeline connected.Only works for HiveServer2 cluster mode.\n \ \ --help display this message diff --git jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java index 959822e..bb2b695 100644 --- jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java +++ jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java @@ -240,6 +240,10 @@ private void openTransport() throws SQLException { } } + public String getConnectedUrl() { + return jdbcUriString; + } + private String getServerHttpUrl(boolean useSsl) { // Create the http/https url // JDBC driver will set up an https url if ssl is enabled, otherwise http