You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by nz...@apache.org on 2011/02/09 09:41:38 UTC

svn commit: r1068791 - in /hive/trunk: CHANGES.txt cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java cli/src/java/org/apache/hadoop/hive/cli/OptionsProcessor.java ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java

Author: nzhang
Date: Wed Feb  9 08:41:38 2011
New Revision: 1068791

URL: http://svn.apache.org/viewvc?rev=1068791&view=rev
Log:
HIVE-1971. Verbose/echo mode for the Hive CLI (Jonathan Natkins via Ning Zhang)

Modified:
    hive/trunk/CHANGES.txt
    hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
    hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/OptionsProcessor.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java

Modified: hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hive/trunk/CHANGES.txt?rev=1068791&r1=1068790&r2=1068791&view=diff
==============================================================================
--- hive/trunk/CHANGES.txt (original)
+++ hive/trunk/CHANGES.txt Wed Feb  9 08:41:38 2011
@@ -181,6 +181,10 @@ Trunk -  Unreleased
     HIVE-1818 Call frequency and duration metrics for HiveMetaStore via jmx
     (Sushanth Sowmyan via pauly)
 
+    HIVE-1971 Verbose/echo mode for the Hive CLI
+    (Jonathan Natkins via Ning Zhang)
+    
+
   IMPROVEMENTS
 
     HIVE-1235 use Ivy for fetching HBase dependencies (John Sichi via cws)

Modified: hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
URL: http://svn.apache.org/viewvc/hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java?rev=1068791&r1=1068790&r2=1068791&view=diff
==============================================================================
--- hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java (original)
+++ hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java Wed Feb  9 08:41:38 2011
@@ -157,6 +157,9 @@ public class CliDriver {
           Driver qp = (Driver) proc;
           PrintStream out = ss.out;
           long start = System.currentTimeMillis();
+          if (ss.getIsVerbose()) {
+            out.println(cmd);
+          }
 
           ret = qp.run(cmd).getResponseCode();
           if (ret != 0) {
@@ -208,6 +211,9 @@ public class CliDriver {
           }
 
         } else {
+          if (ss.getIsVerbose()) {
+            ss.out.println(tokens[0] + " " + cmd_1);
+          }
           ret = proc.run(cmd_1).getResponseCode();
         }
       }

Modified: hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/OptionsProcessor.java
URL: http://svn.apache.org/viewvc/hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/OptionsProcessor.java?rev=1068791&r1=1068790&r2=1068791&view=diff
==============================================================================
--- hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/OptionsProcessor.java (original)
+++ hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/OptionsProcessor.java Wed Feb  9 08:41:38 2011
@@ -47,7 +47,7 @@ public class OptionsProcessor {
 
   private final Parser parser = new Parser();
   private final Option confOptions, initFilesOption, isSilentOption,
-    execOption, fileOption, isHelpOption;
+    execOption, fileOption, isHelpOption, isVerboseOption;
 
   /**
    * Shamelessly cloned from Hadoop streaming take in multiple -hiveconf x=y parameters.
@@ -150,6 +150,9 @@ public class OptionsProcessor {
     // -S
     isSilentOption = createBoolOption(builder, "silent", "S", "silent mode");
 
+    // -v
+    isVerboseOption = createBoolOption(builder, "verbose", "v", "verbose mode");
+
     // -help
     isHelpOption = createBoolOption(builder, "help", "h", "help");
 
@@ -164,7 +167,8 @@ public class OptionsProcessor {
     Group allOptions =
       new GroupBuilder().withOption(confOptions).withOption(initFilesOption)
       .withOption(isSilentOption).withOption(isHelpOption)
-      .withOption(execOption).withOption(fileOption).create();
+      .withOption(execOption).withOption(fileOption)
+      .withOption(isVerboseOption).create();
     parser.setGroup(allOptions);
   }
 
@@ -196,6 +200,8 @@ public class OptionsProcessor {
     ss.execString = (String) cmdLine.getValue(execOption);
     // -f
     ss.fileName = (String) cmdLine.getValue(fileOption);
+    // -v
+    ss.setIsVerbose(cmdLine.hasOption(isVerboseOption));
     // -i
     List<String> initFiles = (List<String>) cmdLine.getValue(initFilesOption);
     if (null != initFiles) {
@@ -229,12 +235,13 @@ public class OptionsProcessor {
     System.err.println("");
     System.err.println(
       "Usage: hive [--config confdir] [-hiveconf x=y]* [-i <init-filename>]*"
-      + " [-f <filename>|-e <query-string>] [-S]");
+      + " [-f <filename>|-e <query-string>] [-S] [-v]");
     System.err.println("");
     System.err.println("  -i <filename>             init Sql file");
     System.err.println("  -e 'quoted query string'  Sql from command line");
     System.err.println("  -f <filename>             Sql from files");
     System.err.println("  -S                        Silent mode in interactive shell");
+    System.err.println("  -v                        Verbose mode (echo executed Sql to the console)");
     System.err.println("");
     System.err.println("-e and -f cannot be specified together. In the absence of these");
     System.err.println(" options, interactive shell is started.");

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java?rev=1068791&r1=1068790&r2=1068791&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java Wed Feb  9 08:41:38 2011
@@ -68,6 +68,11 @@ public class SessionState {
    */
   protected boolean isSilent;
 
+  /**
+   * verbose mode
+   */
+  protected boolean isVerbose;
+
   /*
    * HiveHistory Object
    */
@@ -127,6 +132,14 @@ public class SessionState {
     this.isSilent = isSilent;
   }
 
+  public boolean getIsVerbose() {
+    return isVerbose;
+  }
+
+  public void setIsVerbose(boolean isVerbose) {
+    this.isVerbose = isVerbose;
+  }
+
   public SessionState() {
     this(null);
   }