Class HFileArchiveUtil

java.lang.Object
org.apache.hadoop.hbase.util.HFileArchiveUtil

@Private public final class HFileArchiveUtil extends Object
Helper class for all utilities related to archival/retrieval of HFiles
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static org.apache.hadoop.fs.Path
    getArchivePath(org.apache.hadoop.conf.Configuration conf)
    Get the full path to the archive directory on the configured MasterFileSystem
    private static org.apache.hadoop.fs.Path
    getArchivePath(org.apache.hadoop.fs.Path rootdir)
    Get the full path to the archive directory on the configured MasterFileSystem
    static org.apache.hadoop.fs.Path
    getRegionArchiveDir(org.apache.hadoop.fs.Path rootDir, TableName tableName, String encodedRegionName)
    Get the archive directory for a given region under the specified table
    static org.apache.hadoop.fs.Path
    getRegionArchiveDir(org.apache.hadoop.fs.Path rootDir, TableName tableName, org.apache.hadoop.fs.Path regiondir)
    Get the archive directory for a given region under the specified table
    static org.apache.hadoop.fs.Path
    getStoreArchivePath(org.apache.hadoop.conf.Configuration conf, RegionInfo region, byte[] family)
    Gets the directory to archive a store directory.
    static org.apache.hadoop.fs.Path
    getStoreArchivePath(org.apache.hadoop.conf.Configuration conf, RegionInfo region, org.apache.hadoop.fs.Path tabledir, byte[] family)
    Get the directory to archive a store directory
    static org.apache.hadoop.fs.Path
    getStoreArchivePath(org.apache.hadoop.conf.Configuration conf, TableName tableName, String regionName, String familyName)
    Get the directory to archive a store directory
    static org.apache.hadoop.fs.Path
    getStoreArchivePathForArchivePath(org.apache.hadoop.fs.Path archivePath, RegionInfo region, byte[] family)
     
    static org.apache.hadoop.fs.Path
    getStoreArchivePathForRootDir(org.apache.hadoop.fs.Path rootDir, RegionInfo region, byte[] family)
    Gets the archive directory under specified root dir.
    static org.apache.hadoop.fs.Path
    getTableArchivePath(org.apache.hadoop.conf.Configuration conf, TableName tableName)
    Get the path to the table archive directory based on the configured archive directory.
    static org.apache.hadoop.fs.Path
    getTableArchivePath(org.apache.hadoop.fs.Path rootdir, TableName tableName)
    Get the path to the table archive directory based on the configured archive directory.
    static TableName
    getTableName(org.apache.hadoop.fs.Path archivePath)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • getStoreArchivePath

      public static org.apache.hadoop.fs.Path getStoreArchivePath(org.apache.hadoop.conf.Configuration conf, TableName tableName, String regionName, String familyName) throws IOException
      Get the directory to archive a store directory
      Parameters:
      conf - Configuration to read for the archive directory name
      tableName - table name under which the store currently lives
      regionName - region encoded name under which the store currently lives
      familyName - name of the family in the store
      Returns:
      Path to the directory to archive the given store or null if it should not be archived
      Throws:
      IOException
    • getStoreArchivePath

      public static org.apache.hadoop.fs.Path getStoreArchivePath(org.apache.hadoop.conf.Configuration conf, RegionInfo region, org.apache.hadoop.fs.Path tabledir, byte[] family) throws IOException
      Get the directory to archive a store directory
      Parameters:
      conf - Configuration to read for the archive directory name.
      region - parent region information under which the store currently lives
      tabledir - directory for the table under which the store currently lives
      family - name of the family in the store
      Returns:
      Path to the directory to archive the given store or null if it should not be archived
      Throws:
      IOException
    • getStoreArchivePath

      public static org.apache.hadoop.fs.Path getStoreArchivePath(org.apache.hadoop.conf.Configuration conf, RegionInfo region, byte[] family) throws IOException
      Gets the directory to archive a store directory.
      Parameters:
      conf - Configuration to read for the archive directory name.
      region - parent region information under which the store currently lives
      family - name of the family in the store
      Returns:
      Path to the directory to archive the given store or null if it should not be archived
      Throws:
      IOException
    • getStoreArchivePathForRootDir

      public static org.apache.hadoop.fs.Path getStoreArchivePathForRootDir(org.apache.hadoop.fs.Path rootDir, RegionInfo region, byte[] family)
      Gets the archive directory under specified root dir. One scenario where this is useful is when WAL and root dir are configured under different file systems, i.e. root dir on S3 and WALs on HDFS. This is mostly useful for archiving recovered edits, when hbase.region.archive.recovered.edits is enabled.
      Parameters:
      rootDir - Path the root dir under which archive path should be created.
      region - parent region information under which the store currently lives
      family - name of the family in the store
      Returns:
      Path to the WAL FS directory to archive the given store or null if it should not be archived
    • getStoreArchivePathForArchivePath

      public static org.apache.hadoop.fs.Path getStoreArchivePathForArchivePath(org.apache.hadoop.fs.Path archivePath, RegionInfo region, byte[] family)
    • getRegionArchiveDir

      public static org.apache.hadoop.fs.Path getRegionArchiveDir(org.apache.hadoop.fs.Path rootDir, TableName tableName, org.apache.hadoop.fs.Path regiondir)
      Get the archive directory for a given region under the specified table
      Parameters:
      tableName - the table name. Cannot be null.
      regiondir - the path to the region directory. Cannot be null.
      Returns:
      Path to the directory to archive the given region, or null if it should not be archived
    • getRegionArchiveDir

      public static org.apache.hadoop.fs.Path getRegionArchiveDir(org.apache.hadoop.fs.Path rootDir, TableName tableName, String encodedRegionName)
      Get the archive directory for a given region under the specified table
      Parameters:
      rootDir - Path to the root directory where hbase files are stored (for building the archive path)
      tableName - name of the table to archive. Cannot be null.
      Returns:
      Path to the directory to archive the given region, or null if it should not be archived
    • getTableArchivePath

      public static org.apache.hadoop.fs.Path getTableArchivePath(org.apache.hadoop.fs.Path rootdir, TableName tableName)
      Get the path to the table archive directory based on the configured archive directory.

      Get the path to the table's archive directory.

      Generally of the form: /hbase/.archive/[tablename]

      Parameters:
      rootdir - Path to the root directory where hbase files are stored (for building the archive path)
      tableName - Name of the table to be archived. Cannot be null.
      Returns:
      Path to the archive directory for the table
    • getTableArchivePath

      public static org.apache.hadoop.fs.Path getTableArchivePath(org.apache.hadoop.conf.Configuration conf, TableName tableName) throws IOException
      Get the path to the table archive directory based on the configured archive directory.

      Assumed that the table should already be archived.

      Parameters:
      conf - Configuration to read the archive directory property. Can be null
      tableName - Name of the table to be archived. Cannot be null.
      Returns:
      Path to the archive directory for the table
      Throws:
      IOException
    • getArchivePath

      public static org.apache.hadoop.fs.Path getArchivePath(org.apache.hadoop.conf.Configuration conf) throws IOException
      Get the full path to the archive directory on the configured MasterFileSystem
      Parameters:
      conf - to look for archive directory name and root directory. Cannot be null. Notes for testing: requires a FileSystem root directory to be specified.
      Returns:
      the full Path to the archive directory, as defined by the configuration
      Throws:
      IOException - if an unexpected error occurs
    • getArchivePath

      private static org.apache.hadoop.fs.Path getArchivePath(org.apache.hadoop.fs.Path rootdir)
      Get the full path to the archive directory on the configured MasterFileSystem
      Parameters:
      rootdir - Path to the root directory where hbase files are stored (for building the archive path)
      Returns:
      the full Path to the archive directory, as defined by the configuration
    • getTableName

      public static TableName getTableName(org.apache.hadoop.fs.Path archivePath)