You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/10/11 04:10:36 UTC

svn commit: r1181461 - /hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java

Author: nspiegelberg
Date: Tue Oct 11 02:10:35 2011
New Revision: 1181461

URL: http://svn.apache.org/viewvc?rev=1181461&view=rev
Log:
Add ability to get Key-only information while scanning KVs in an HFile

Modified:
    hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java

Modified: hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java?rev=1181461&r1=1181460&r2=1181461&view=diff
==============================================================================
--- hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java (original)
+++ hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java Tue Oct 11 02:10:35 2011
@@ -1909,7 +1909,8 @@ public class HFile {
       CommandLineParser parser = new PosixParser();
       CommandLine cmd = parser.parse(options, args);
       boolean verbose = cmd.hasOption("v");
-      boolean printKeyValue = cmd.hasOption("p");
+      boolean printValue = cmd.hasOption("p");
+      boolean printKey = cmd.hasOption("pk") || printValue;
       boolean printMeta = cmd.hasOption("m");
       boolean checkRow = cmd.hasOption("k");
       boolean checkFamily = cmd.hasOption("a");
@@ -1955,7 +1956,7 @@ public class HFile {
 
         Map<byte[],byte[]> fileInfo = reader.loadFileInfo();
         int count = 0;
-        if (verbose || printKeyValue || checkRow || checkFamily) {
+        if (verbose || printKey || checkRow || checkFamily) {
           // scan over file and read key/value's and check if requested
           HFileScanner scanner = reader.getScanner(false, false);
           scanner.seekTo();
@@ -1963,9 +1964,12 @@ public class HFile {
           do {
             KeyValue kv = scanner.getKeyValue();
             // dump key value
-            if (printKeyValue) {
-              System.out.println("K: " + kv +
-                  " V: " + Bytes.toStringBinary(kv.getValue()));
+            if (printKey) {
+              System.out.print("K: " + kv);
+              if (printValue) {
+                System.out.print(" V: " + Bytes.toStringBinary(kv.getValue()));
+              }
+              System.out.println();
             }
             // check if rows are in order
             if (checkRow && pkv != null) {
@@ -1996,7 +2000,7 @@ public class HFile {
           } while (scanner.next());
         }
 
-        if (verbose || printKeyValue) {
+        if (verbose || printKey) {
           System.out.println("Scanned kv count -> " + count);
         }