@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(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.Path path) |
HFileLink(org.apache.hadoop.fs.Path rootDir,
org.apache.hadoop.fs.Path archiveDir,
org.apache.hadoop.fs.Path path) |
Modifier and Type | Method and Description |
---|---|
static boolean |
create(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path dstFamilyPath,
HRegionInfo hfileRegionInfo,
String hfileName)
Create a new HFileLink
|
static boolean |
create(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path dstFamilyPath,
TableName linkedTable,
String linkedRegion,
String hfileName)
Create a new HFileLink
|
static HFileLink |
create(org.apache.hadoop.conf.Configuration conf,
TableName table,
String region,
String family,
String hfile)
Create an HFileLink instance from table/region/family/hfile location
|
static boolean |
createFromHFileLink(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path dstFamilyPath,
String hfileLinkName)
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 org.apache.hadoop.fs.Path |
createPath(TableName table,
String region,
String family,
String hfile)
Create an HFileLink relative path for the table/region/family/hfile location
|
boolean |
exists(org.apache.hadoop.fs.FileSystem fs)
Returns true if the HFileLink exists
|
org.apache.hadoop.fs.Path |
getArchivePath() |
static org.apache.hadoop.fs.Path |
getHFileFromBackReference(org.apache.hadoop.conf.Configuration conf,
org.apache.hadoop.fs.Path linkRefPath)
Get the full path of the HFile referenced by the back reference
|
static org.apache.hadoop.fs.Path |
getHFileFromBackReference(org.apache.hadoop.fs.Path rootDir,
org.apache.hadoop.fs.Path linkRefPath)
Get the full path of the HFile referenced by the back reference
|
org.apache.hadoop.fs.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(org.apache.hadoop.fs.Path path) |
static boolean |
isHFileLink(String fileName) |
getAvailablePath, getBackReferenceFileName, getBackReferencesDir, getFileStatus, getLocations, isBackReferencesDir, open, open, setLocations, toString
public static final String LINK_NAME_REGEX
Table name is ([a-zA-Z_0-9][a-zA-Z_0-9.-]*), 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(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path path) throws IOException
conf
- Configuration
from which to extract specific archive locationspath
- The path of the HFile Link.IOException
- on unexpected error.public HFileLink(org.apache.hadoop.fs.Path rootDir, org.apache.hadoop.fs.Path archiveDir, org.apache.hadoop.fs.Path path)
rootDir
- Path to the root directory where hbase files are storedarchiveDir
- Path to the hbase archive directorypath
- The path of the HFile Link.public static org.apache.hadoop.fs.Path createPath(TableName table, String region, String family, String hfile)
table
- Table nameregion
- Region Namefamily
- Family Namehfile
- HFile Namepublic static HFileLink create(org.apache.hadoop.conf.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 org.apache.hadoop.fs.Path getOriginPath()
public org.apache.hadoop.fs.Path getArchivePath()
public static boolean isHFileLink(org.apache.hadoop.fs.Path path)
path
- Path to check.public static boolean isHFileLink(String fileName)
fileName
- File name 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 boolean exists(org.apache.hadoop.fs.FileSystem fs) throws IOException
IOException
public 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(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.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(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.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 createFromHFileLink(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.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 org.apache.hadoop.fs.Path getHFileFromBackReference(org.apache.hadoop.fs.Path rootDir, org.apache.hadoop.fs.Path linkRefPath)
rootDir
- root hbase directorylinkRefPath
- Link Back Reference pathIOException
- on unexpected error.public static org.apache.hadoop.fs.Path getHFileFromBackReference(org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path linkRefPath) throws IOException
conf
- Configuration
to read for the archive directory namelinkRefPath
- Link Back Reference pathIOException
- on unexpected error.Copyright © 2014 The Apache Software Foundation. All rights reserved.