|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.hbase.regionserver.Store
public class Store
A Store holds a column family in a Region. Its a memstore and a set of zero or more StoreFiles, which stretch backwards over time.
There's no reason to consider append-logging at this level; all logging and locking is handled at the HRegion level. Store just provides services to manage sets of StoreFiles. One of the most important of those services is compaction services where files are aggregated once they pass a configurable threshold.
Locking and transactions are handled at a higher level. This API should not be called directly but by an HRegion manager.
| Field Summary | |
|---|---|
static long |
DEEP_OVERHEAD
|
static long |
FIXED_OVERHEAD
|
protected MemStore |
memstore
|
protected long |
ttl
|
| Constructor Summary | |
|---|---|
protected |
Store(org.apache.hadoop.fs.Path basedir,
HRegion region,
HColumnDescriptor family,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.conf.Configuration conf)
Constructor |
| Method Summary | |
|---|---|
protected long |
add(KeyValue kv)
Adds a value to the memstore |
void |
bulkLoadHFile(String srcPathStr)
|
protected long |
delete(KeyValue kv)
Adds a value to the memstore |
void |
get(Get get,
NavigableSet<byte[]> columns,
List<KeyValue> result)
Retrieve results from this store given the specified Get parameters. |
org.apache.hadoop.fs.Path |
getHomedir()
Return the directory in which this store stores its StoreFiles |
int |
getNumberOfstorefiles()
|
protected KeyValueScanner |
getScanner(Scan scan,
NavigableSet<byte[]> targetCols)
Return a scanner for both the memstore and the HStore files |
long |
getSize()
|
org.apache.hadoop.hbase.regionserver.StoreFlusher |
getStoreFlusher(long cacheFlushId)
|
static org.apache.hadoop.fs.Path |
getStoreHomedir(org.apache.hadoop.fs.Path tabledir,
String encodedName,
byte[] family)
|
boolean |
hasTooManyStoreFiles()
See if there's too much store files in this store |
long |
heapSize()
|
String |
toString()
|
long |
updateColumnValue(byte[] row,
byte[] f,
byte[] qualifier,
long newValue)
Increments the value for the given row/family/qualifier. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final MemStore memstore
protected long ttl
public static final long FIXED_OVERHEAD
public static final long DEEP_OVERHEAD
| Constructor Detail |
|---|
protected Store(org.apache.hadoop.fs.Path basedir,
HRegion region,
HColumnDescriptor family,
org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.conf.Configuration conf)
throws IOException
basedir - qualified path under which the region directory lives;
generally the table subdirectoryregion - family - HColumnDescriptor for this columnfs - file system objectconf - configuration object
failed. Can be null.
IOException| Method Detail |
|---|
public static org.apache.hadoop.fs.Path getStoreHomedir(org.apache.hadoop.fs.Path tabledir,
String encodedName,
byte[] family)
tabledir - encodedName - Encoded region name.family -
public org.apache.hadoop.fs.Path getHomedir()
protected long add(KeyValue kv)
kv -
protected long delete(KeyValue kv)
kv -
public void bulkLoadHFile(String srcPathStr)
throws IOException
IOExceptionpublic int getNumberOfstorefiles()
public long getSize()
protected KeyValueScanner getScanner(Scan scan,
NavigableSet<byte[]> targetCols)
throws IOException
IOExceptionpublic String toString()
toString in class Object
public void get(Get get,
NavigableSet<byte[]> columns,
List<KeyValue> result)
throws IOException
get - Get operationcolumns - List of columns to match, can be empty (not null)result - List to add results to
IOException
public long updateColumnValue(byte[] row,
byte[] f,
byte[] qualifier,
long newValue)
throws IOException
row - f - qualifier - newValue - the new value to set into memstore
IOExceptionpublic org.apache.hadoop.hbase.regionserver.StoreFlusher getStoreFlusher(long cacheFlushId)
public boolean hasTooManyStoreFiles()
public long heapSize()
heapSize in interface HeapSize
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||