@InterfaceAudience.Private public class MetaScanner extends Object
hbase:meta table scanning logic.
Provided visitors will be called for each row.
Although public visibility, this is not a public-facing API and may evolve in
minor releases.
Note that during concurrent region splits, the scanner might not see
hbase:meta changes across rows (for parent and daughter entries) consistently.
see HBASE-5986, and MetaScanner.DefaultMetaScannerVisitor for details.
| Modifier and Type | Class and Description |
|---|---|
static class |
MetaScanner.DefaultMetaScannerVisitor
A MetaScannerVisitor that skips offline regions and split parents
|
static interface |
MetaScanner.MetaScannerVisitor
Visitor class called to process each row of the hbase:meta table
|
static class |
MetaScanner.MetaScannerVisitorBase |
static class |
MetaScanner.TableMetaScannerVisitor
A MetaScannerVisitor for a table.
|
| Constructor and Description |
|---|
MetaScanner() |
| Modifier and Type | Method and Description |
|---|---|
static NavigableMap<HRegionInfo,ServerName> |
allTableRegions(org.apache.hadoop.conf.Configuration conf,
HConnection connection,
TableName tableName,
boolean offlined)
Lists all of the table regions currently in META.
|
static HRegionInfo |
getHRegionInfo(Result data)
Returns HRegionInfo object from the column
HConstants.CATALOG_FAMILY:HConstants.REGIONINFO_QUALIFIER of the catalog
table Result.
|
static List<HRegionInfo> |
listAllRegions(org.apache.hadoop.conf.Configuration conf,
boolean offlined)
Used in tests.
|
static void |
metaScan(org.apache.hadoop.conf.Configuration configuration,
HConnection connection,
MetaScanner.MetaScannerVisitor visitor,
TableName userTableName)
Scans the meta table and calls a visitor on each RowResult.
|
static void |
metaScan(org.apache.hadoop.conf.Configuration configuration,
HConnection connection,
MetaScanner.MetaScannerVisitor visitor,
TableName tableName,
byte[] row,
int rowLimit,
TableName metaTableName)
Scans the meta table and calls a visitor on each RowResult.
|
static void |
metaScan(org.apache.hadoop.conf.Configuration configuration,
MetaScanner.MetaScannerVisitor visitor)
Scans the meta table and calls a visitor on each RowResult and uses a empty
start row value as table name.
|
static void |
metaScan(org.apache.hadoop.conf.Configuration configuration,
MetaScanner.MetaScannerVisitor visitor,
TableName userTableName,
byte[] row,
int rowLimit)
Scans the meta table and calls a visitor on each RowResult.
|
public static void metaScan(org.apache.hadoop.conf.Configuration configuration,
MetaScanner.MetaScannerVisitor visitor)
throws IOException
configuration - confvisitor - A custom visitorIOException - epublic static void metaScan(org.apache.hadoop.conf.Configuration configuration,
HConnection connection,
MetaScanner.MetaScannerVisitor visitor,
TableName userTableName)
throws IOException
configuration - configconnection - connection to use internally (null to use a new instance)visitor - visitor objectuserTableName - User table name in meta table to start scan at. Pass
null if not interested in a particular table.IOException - epublic static void metaScan(org.apache.hadoop.conf.Configuration configuration,
MetaScanner.MetaScannerVisitor visitor,
TableName userTableName,
byte[] row,
int rowLimit)
throws IOException
rowLimit of rows.configuration - HBase configuration.visitor - Visitor object.userTableName - User table name in meta table to start scan at. Pass
null if not interested in a particular table.row - Name of the row at the user table. The scan will start from
the region row where the row resides.rowLimit - Max of processed rows. If it is less than 0, it
will be set to default value Integer.MAX_VALUE.IOException - epublic static void metaScan(org.apache.hadoop.conf.Configuration configuration,
HConnection connection,
MetaScanner.MetaScannerVisitor visitor,
TableName tableName,
byte[] row,
int rowLimit,
TableName metaTableName)
throws IOException
rowLimit of rows.configuration - HBase configuration.connection - connection to use internally (null to use a new instance)visitor - Visitor object. Closes the visitor before returning.tableName - User table name in meta table to start scan at. Pass
null if not interested in a particular table.row - Name of the row at the user table. The scan will start from
the region row where the row resides.rowLimit - Max of processed rows. If it is less than 0, it
will be set to default value Integer.MAX_VALUE.metaTableName - Meta table to scan, root or meta.IOException - epublic static HRegionInfo getHRegionInfo(Result data)
data - a Result object from the catalog table scanpublic static List<HRegionInfo> listAllRegions(org.apache.hadoop.conf.Configuration conf, boolean offlined) throws IOException
conf - offlined - True if we are to include offlined regions, false and we'll
leave out offlined regions from returned list.IOExceptionpublic static NavigableMap<HRegionInfo,ServerName> allTableRegions(org.apache.hadoop.conf.Configuration conf, HConnection connection, TableName tableName, boolean offlined) throws IOException
conf - offlined - True if we are to include offlined regions, false and we'll
leave out offlined regions from returned list.IOExceptionCopyright © 2014 The Apache Software Foundation. All rights reserved.