public static Map<String, Path> getTableStoreFilePathMap(final FileSystem fs,
    final Path hbaseRootDir, PathFilter sfFilter, ExecutorService executor,
    ProgressReporter progressReporter) throws IOException, InterruptedException {
    ConcurrentHashMap<String, Path> map = new ConcurrentHashMap<>(1024, 0.75f, 32);

    // if this method looks similar to 'getTableFragmentation' that is because
    // it was borrowed from it.

    // only include the directory paths to tables
    for (Path tableDir : FSUtils.getTableDirs(fs, hbaseRootDir)) {
      getTableStoreFilePathMap(map, fs, hbaseRootDir, CommonFSUtils.getTableName(tableDir),
        sfFilter, executor, progressReporter);
    }
    return map;
  }
Runs through the HBase rootdir and creates a reverse lookup map for table StoreFile names to
the full Path. <br>
Example...<br>
Key = 3944417774205889744 <br>
Value = hdfs://localhost:51169/user/userid/-ROOT-/70236052/info/3944417774205889744
@param fs               The file system to use.
@param hbaseRootDir     The root directory to scan.
@param sfFilter         optional path filter to apply to store files
@param executor         optional executor service to parallelize this operation
@param progressReporter Instance or null; gets called every time we move to new region of
                        family dir and for each store file.
@return Map keyed by StoreFile name with a value of the full Path.
@throws IOException When scanning the directory fails.
hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java