From 651490942d9a9ee82916465498e6b4f77d989b04 Mon Sep 17 00:00:00 2001 From: Michael Stack Date: Tue, 15 Sep 2009 21:56:09 +0000 Subject: [PATCH] HBASE-1833 hfle.main fixes git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@815507 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 1 + .../apache/hadoop/hbase/io/hfile/HFile.java | 25 +++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index da8a35f621c..8b3f8e37cc5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -52,6 +52,7 @@ Release 0.21.0 - Unreleased HBASE-1827 Add disabling block cache scanner flag to the shell HBASE-1835 Add more delete tests HBASE-1574 Client and server APIs to do batch deletes + HBASE-1833 hfile.main fixes OPTIMIZATIONS diff --git a/src/java/org/apache/hadoop/hbase/io/hfile/HFile.java b/src/java/org/apache/hadoop/hbase/io/hfile/HFile.java index cb9b2d71bce..711d9b97005 100644 --- a/src/java/org/apache/hadoop/hbase/io/hfile/HFile.java +++ b/src/java/org/apache/hadoop/hbase/io/hfile/HFile.java @@ -1639,13 +1639,16 @@ public class HFile { try { // create options Options options = new Options(); - options.addOption("v", "verbose", false, "verbose output"); - options.addOption("p", "printkv", false, "print key/value pairs"); - options.addOption("m", "printmeta", false, "print meta data of file"); - options.addOption("k", "checkrow", false, "enable row order check"); - options.addOption("a", "checkfamily", false, "enable family check"); - options.addOption("f", "file", true, "file to scan"); - options.addOption("r", "region", true, "region to scan"); + options.addOption("v", "verbose", false, "Verbose output; emits file and meta data delimiters"); + options.addOption("p", "printkv", false, "Print key/value pairs"); + options.addOption("m", "printmeta", false, "Print meta data of file"); + options.addOption("k", "checkrow", false, + "Enable row order check; looks for out-of-order keys"); + options.addOption("a", "checkfamily", false, "Enable family check"); + options.addOption("f", "file", true, + "File to scan. Pass full-path; e.g. hdfs://a:9000/hbase/.META./12/34"); + options.addOption("r", "region", true, + "Region to scan. Pass region name; e.g. '.META.,,1'"); if (args.length == 0) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("HFile ", options, true); @@ -1660,6 +1663,8 @@ public class HFile { boolean checkFamily = cmd.hasOption("a"); // get configuration, file system and get list of files HBaseConfiguration conf = new HBaseConfiguration(); + conf.set("fs.default.name", + conf.get(org.apache.hadoop.hbase.HConstants.HBASE_DIR)); FileSystem fs = FileSystem.get(conf); ArrayList files = new ArrayList(); if (cmd.hasOption("f")) { @@ -1675,18 +1680,17 @@ public class HFile { Path regionDir = new Path(tableDir, Integer.toString(enc)); if (verbose) System.out.println("region dir -> " + regionDir); List regionFiles = getStoreFiles(fs, regionDir); - System.out.println("Number of region files found -> " + + if (verbose) System.out.println("Number of region files found -> " + regionFiles.size()); if (verbose) { int i = 1; for (Path p : regionFiles) { - System.out.println("Found file[" + i++ + "] -> " + p); + if (verbose) System.out.println("Found file[" + i++ + "] -> " + p); } } files.addAll(regionFiles); } // iterate over all files found - System.out.println("\nStart scan of files...\n"); for (Path file : files) { if (verbose) System.out.println("Scanning -> " + file); if (!fs.exists(file)) { @@ -1756,7 +1760,6 @@ public class HFile { } reader.close(); } - System.out.println("\nDone."); } catch (Exception e) { e.printStackTrace(); }