public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); @SuppressWarnings("deprecation") FileSystem hadoopFs = FileUtil.getFileSystem(conf, AccumuloConfiguration.getSiteConfiguration()); FileSystem localFs = FileSystem.getLocal(conf); Opts opts = new Opts(); opts.parseArgs(PrintInfo.class.getName(), args); if (opts.files.isEmpty()) { System.err.println("No files were given"); System.exit(-1); } long countBuckets[] = new long[11]; long sizeBuckets[] = new long[countBuckets.length]; long totalSize = 0; for (String arg : opts.files) { Path path = new Path(arg); FileSystem fs = hadoopFs.exists(path) ? hadoopFs : localFs; // fall back to local CachableBlockFile.Reader _rdr = new CachableBlockFile.Reader(fs, path, conf, null, null); Reader iter = new RFile.Reader(_rdr); iter.printInfo(); System.out.println(); org.apache.accumulo.core.file.rfile.bcfile.PrintInfo.main(new String[] {arg}); if (opts.histogram || opts.dump) { iter.seek(new Range((Key) null, (Key) null), new ArrayList<ByteSequence>(), false); while (iter.hasTop()) { Key key = iter.getTopKey(); Value value = iter.getTopValue(); if (opts.dump) System.out.println(key + " -> " + value); if (opts.histogram) { long size = key.getSize() + value.getSize(); int bucket = (int) Math.log10(size); countBuckets[bucket]++; sizeBuckets[bucket] += size; totalSize += size; } iter.next(); } } iter.close(); if (opts.histogram) { System.out.println("Up to size count %-age"); for (int i = 1; i < countBuckets.length; i++) { System.out.println( String.format( "%11.0f : %10d %6.2f%%", Math.pow(10, i), countBuckets[i], sizeBuckets[i] * 100. / totalSize)); } } } }