@InterfaceAudience.Private public class HFileLink extends FileLink
Searches for hfiles in the following order and locations:
| Modifier and Type | Field and Description | 
|---|---|
static String | 
LINK_NAME_REGEX
A non-capture group, for HFileLink, so that this can be embedded. 
 | 
BACK_REFERENCES_DIRECTORY_PREFIX| Constructor and Description | 
|---|
HFileLink(Path originPath,
         Path tempPath,
         Path mobPath,
         Path archivePath)
Dead simple hfile link constructor 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static HFileLink | 
build(Configuration conf,
     TableName table,
     String region,
     String family,
     String hfile)
Create an HFileLink instance from table/region/family/hfile location 
 | 
static HFileLink | 
buildFromHFileLinkPattern(Configuration conf,
                         Path hFileLinkPattern)  | 
static HFileLink | 
buildFromHFileLinkPattern(Path rootDir,
                         Path archiveDir,
                         Path hFileLinkPattern)  | 
static boolean | 
create(Configuration conf,
      FileSystem fs,
      Path dstFamilyPath,
      HRegionInfo hfileRegionInfo,
      String hfileName)
Create a new HFileLink 
 | 
static boolean | 
create(Configuration conf,
      FileSystem fs,
      Path dstFamilyPath,
      HRegionInfo hfileRegionInfo,
      String hfileName,
      boolean createBackRef)
Create a new HFileLink 
 | 
static boolean | 
create(Configuration conf,
      FileSystem fs,
      Path dstFamilyPath,
      TableName linkedTable,
      String linkedRegion,
      String hfileName)
Create a new HFileLink 
 | 
static boolean | 
create(Configuration conf,
      FileSystem fs,
      Path dstFamilyPath,
      TableName linkedTable,
      String linkedRegion,
      String hfileName,
      boolean createBackRef)
Create a new HFileLink 
 | 
static boolean | 
createFromHFileLink(Configuration conf,
                   FileSystem fs,
                   Path dstFamilyPath,
                   String hfileLinkName)
Create a new HFileLink starting from a hfileLink name 
 | 
static boolean | 
createFromHFileLink(Configuration conf,
                   FileSystem fs,
                   Path dstFamilyPath,
                   String hfileLinkName,
                   boolean createBackRef)
Create a new HFileLink starting from a hfileLink name 
 | 
static String | 
createHFileLinkName(HRegionInfo hfileRegionInfo,
                   String hfileName)
Create a new HFileLink name 
 | 
static String | 
createHFileLinkName(TableName tableName,
                   String regionName,
                   String hfileName)
Create a new HFileLink name 
 | 
static Path | 
createPath(TableName table,
          String region,
          String family,
          String hfile)
Create an HFileLink relative path for the table/region/family/hfile location 
 | 
Path | 
getArchivePath()  | 
static Path | 
getHFileFromBackReference(Configuration conf,
                         Path linkRefPath)
Get the full path of the HFile referenced by the back reference 
 | 
static Path | 
getHFileFromBackReference(Path rootDir,
                         Path linkRefPath)
Get the full path of the HFile referenced by the back reference 
 | 
Path | 
getMobPath()  | 
Path | 
getOriginPath()  | 
static String | 
getReferencedHFileName(String fileName)
Get the HFile name of the referenced link 
 | 
static String | 
getReferencedRegionName(String fileName)
Get the Region name of the referenced link 
 | 
static TableName | 
getReferencedTableName(String fileName)
Get the Table name of the referenced link 
 | 
static boolean | 
isHFileLink(Path path)  | 
equals, exists, getAvailablePath, getBackReferenceFileName, getBackReferencesDir, getFileStatus, getLocations, hashCode, isBackReferencesDir, open, open, setLocations, toStringpublic static final String LINK_NAME_REGEX
Table name is ([\p{IsAlphabetic}\p{Digit}][\p{IsAlphabetic}\p{Digit}.-]*), so '=' is an invalid character for the table name. Region name is ([a-f0-9]+), so '-' is an invalid character for the region name. HFile is ([0-9a-f]+(?:_SeqId_[0-9]+_)?) covering the plain hfiles (uuid) and the bulk loaded (_SeqId_[0-9]+_) hfiles.
public HFileLink(Path originPath,
                 Path tempPath,
                 Path mobPath,
                 Path archivePath)
public static final HFileLink buildFromHFileLinkPattern(Configuration conf, Path hFileLinkPattern) throws IOException
conf - Configuration from which to extract specific archive locationshFileLinkPattern - The path ending with a HFileLink pattern. (table=region-hfile)IOException - on unexpected error.public static final HFileLink buildFromHFileLinkPattern(Path rootDir, Path archiveDir, Path hFileLinkPattern)
rootDir - Path to the root directory where hbase files are storedarchiveDir - Path to the hbase archive directoryhFileLinkPattern - The path of the HFile Link.public static Path createPath(TableName table, String region, String family, String hfile)
table - Table nameregion - Region Namefamily - Family Namehfile - HFile Namepublic static HFileLink build(Configuration conf, TableName table, String region, String family, String hfile) throws IOException
conf - Configuration from which to extract specific archive locationstable - Table nameregion - Region Namefamily - Family Namehfile - HFile NameIOException - on unexpected error.public Path getOriginPath()
public Path getArchivePath()
public Path getMobPath()
public static boolean isHFileLink(Path path)
path - Path to check.public static String getReferencedHFileName(String fileName)
fileName - HFileLink file namepublic static String getReferencedRegionName(String fileName)
fileName - HFileLink file namepublic static TableName getReferencedTableName(String fileName)
fileName - HFileLink file namepublic static String createHFileLinkName(HRegionInfo hfileRegionInfo, String hfileName)
hfileRegionInfo - - Linked HFile Region InfohfileName - - Linked HFile namepublic static String createHFileLinkName(TableName tableName, String regionName, String hfileName)
tableName - - Linked HFile table nameregionName - - Linked HFile region namehfileName - - Linked HFile namepublic static boolean create(Configuration conf,
                             FileSystem fs,
                             Path dstFamilyPath,
                             HRegionInfo hfileRegionInfo,
                             String hfileName)
                      throws IOException
It also adds a back-reference to the hfile back-reference directory to simplify the reference-count and the cleaning process.
conf - Configuration to read for the archive directory namefs - FileSystem on which to write the HFileLinkdstFamilyPath - - Destination path (table/region/cf/)hfileRegionInfo - - Linked HFile Region InfohfileName - - Linked HFile nameIOException - on file or parent directory creation failurepublic static boolean create(Configuration conf,
                             FileSystem fs,
                             Path dstFamilyPath,
                             HRegionInfo hfileRegionInfo,
                             String hfileName,
                             boolean createBackRef)
                      throws IOException
It also adds a back-reference to the hfile back-reference directory to simplify the reference-count and the cleaning process.
conf - Configuration to read for the archive directory namefs - FileSystem on which to write the HFileLinkdstFamilyPath - - Destination path (table/region/cf/)hfileRegionInfo - - Linked HFile Region InfohfileName - - Linked HFile namecreateBackRef - - Whether back reference should be created. Defaults to true.IOException - on file or parent directory creation failurepublic static boolean create(Configuration conf,
                             FileSystem fs,
                             Path dstFamilyPath,
                             TableName linkedTable,
                             String linkedRegion,
                             String hfileName)
                      throws IOException
It also adds a back-reference to the hfile back-reference directory to simplify the reference-count and the cleaning process.
conf - Configuration to read for the archive directory namefs - FileSystem on which to write the HFileLinkdstFamilyPath - - Destination path (table/region/cf/)linkedTable - - Linked Table NamelinkedRegion - - Linked Region NamehfileName - - Linked HFile nameIOException - on file or parent directory creation failurepublic static boolean create(Configuration conf,
                             FileSystem fs,
                             Path dstFamilyPath,
                             TableName linkedTable,
                             String linkedRegion,
                             String hfileName,
                             boolean createBackRef)
                      throws IOException
It also adds a back-reference to the hfile back-reference directory to simplify the reference-count and the cleaning process.
conf - Configuration to read for the archive directory namefs - FileSystem on which to write the HFileLinkdstFamilyPath - - Destination path (table/region/cf/)linkedTable - - Linked Table NamelinkedRegion - - Linked Region NamehfileName - - Linked HFile namecreateBackRef - - Whether back reference should be created. Defaults to true.IOException - on file or parent directory creation failurepublic static boolean createFromHFileLink(Configuration conf,
                                          FileSystem fs,
                                          Path dstFamilyPath,
                                          String hfileLinkName)
                                   throws IOException
It also adds a back-reference to the hfile back-reference directory to simplify the reference-count and the cleaning process.
conf - Configuration to read for the archive directory namefs - FileSystem on which to write the HFileLinkdstFamilyPath - - Destination path (table/region/cf/)hfileLinkName - - HFileLink name (it contains hfile-region-table)IOException - on file or parent directory creation failurepublic static boolean createFromHFileLink(Configuration conf,
                                          FileSystem fs,
                                          Path dstFamilyPath,
                                          String hfileLinkName,
                                          boolean createBackRef)
                                   throws IOException
It also adds a back-reference to the hfile back-reference directory to simplify the reference-count and the cleaning process.
conf - Configuration to read for the archive directory namefs - FileSystem on which to write the HFileLinkdstFamilyPath - - Destination path (table/region/cf/)hfileLinkName - - HFileLink name (it contains hfile-region-table)createBackRef - - Whether back reference should be created. Defaults to true.IOException - on file or parent directory creation failurepublic static Path getHFileFromBackReference(Path rootDir,
                                             Path linkRefPath)
rootDir - root hbase directorylinkRefPath - Link Back Reference pathIOException - on unexpected error.public static Path getHFileFromBackReference(Configuration conf,
                                             Path linkRefPath)
                                      throws IOException
conf - Configuration to read for the archive directory namelinkRefPath - Link Back Reference pathIOException - on unexpected error.