@InterfaceAudience.LimitedPrivate(value="Coprocessor") public class StoreFile extends Object
StoreFile.WriterBuilder
and append data. Be sure to add any metadata before calling close on the
Writer (Use the appendMetadata convenience methods). On close, a StoreFile
is sitting in the Filesystem. To refer to it, create a StoreFile instance
passing filesystem and path. To read, call createReader()
.
StoreFiles may also reference store files in another Store. The reason for this weird pattern where you use a different instance for the writer and a reader is that we write once but read a lot more.
Modifier and Type | Class and Description |
---|---|
static class |
StoreFile.Comparators
Useful comparators for comparing StoreFiles.
|
static class |
StoreFile.Reader
Reader for a StoreFile.
|
static class |
StoreFile.Writer
A StoreFile writer.
|
static class |
StoreFile.WriterBuilder |
Modifier and Type | Field and Description |
---|---|
static byte[] |
BLOOM_FILTER_TYPE_KEY
Bloom filter Type in FileInfo
|
static byte[] |
BULKLOAD_TASK_KEY
Meta key set when store file is a result of a bulk load
|
static byte[] |
BULKLOAD_TIME_KEY |
static byte[] |
COMPACTION_EVENT_KEY
Key for compaction event which contains the compacted storefiles in FileInfo
|
static byte[] |
DELETE_FAMILY_COUNT
Delete Family Count in FileInfo
|
static byte[] |
EARLIEST_PUT_TS
Key for timestamp of earliest-put in metadata
|
static byte[] |
EXCLUDE_FROM_MINOR_COMPACTION_KEY
Minor compaction flag in FileInfo
|
static byte[] |
MAJOR_COMPACTION_KEY
Major compaction flag in FileInfo
|
static byte[] |
MAX_SEQ_ID_KEY
Max Sequence ID in FileInfo
|
static byte[] |
TIMERANGE_KEY
Key for Timerange information in metadata
|
Constructor and Description |
---|
StoreFile(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path p,
org.apache.hadoop.conf.Configuration conf,
CacheConfig cacheConf,
BloomType cfBloomType)
Constructor, loads a reader and it's indices, etc.
|
StoreFile(org.apache.hadoop.fs.FileSystem fs,
StoreFileInfo fileInfo,
org.apache.hadoop.conf.Configuration conf,
CacheConfig cacheConf,
BloomType cfBloomType)
Constructor, loads a reader and it's indices, etc.
|
StoreFile(StoreFile other)
Clone
|
Modifier and Type | Method and Description |
---|---|
StoreFile |
cloneForReader()
Clone a StoreFile for opening private reader.
|
void |
closeReader(boolean evictOnClose) |
StoreFile.Reader |
createReader() |
StoreFile.Reader |
createReader(boolean canUseDropBehind) |
void |
deleteReader()
Delete this file
|
boolean |
excludeFromMinorCompaction() |
long |
getBulkLoadTimestamp()
Return the timestamp at which this bulk load file was generated.
|
KeyValue.KVComparator |
getComparator() |
org.apache.hadoop.fs.Path |
getEncodedPath() |
StoreFileInfo |
getFileInfo() |
byte[] |
getFirstKey() |
HDFSBlocksDistribution |
getHDFSBlockDistribution() |
byte[] |
getLastKey() |
Long |
getMaximumTimestamp() |
long |
getMaxMemstoreTS() |
static long |
getMaxMemstoreTSInList(Collection<StoreFile> sfs)
Return the largest memstoreTS found across all storefiles in
the given list.
|
long |
getMaxSequenceId() |
static long |
getMaxSequenceIdInList(Collection<StoreFile> sfs)
Return the highest sequence ID found across all storefiles in
the given list.
|
byte[] |
getMetadataValue(byte[] key)
Only used by the Striped Compaction Policy
|
Long |
getMinimumTimestamp() |
long |
getModificationTimeStamp() |
org.apache.hadoop.fs.Path |
getPath() |
org.apache.hadoop.fs.Path |
getQualifiedPath() |
StoreFile.Reader |
getReader() |
int |
getRefCount() |
static org.apache.hadoop.fs.Path |
getUniqueFile(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path dir) |
boolean |
isBulkLoadResult()
Check if this storefile was created by bulk load.
|
boolean |
isCompactedAway() |
boolean |
isHFile() |
boolean |
isMajorCompaction() |
boolean |
isReference() |
void |
markCompactedAway()
Marks the status of the file as compactedAway.
|
void |
setMaxMemstoreTS(long maxMemstoreTS) |
String |
toString() |
String |
toStringDetailed() |
public static final byte[] MAX_SEQ_ID_KEY
public static final byte[] MAJOR_COMPACTION_KEY
public static final byte[] EXCLUDE_FROM_MINOR_COMPACTION_KEY
public static final byte[] BLOOM_FILTER_TYPE_KEY
public static final byte[] DELETE_FAMILY_COUNT
public static final byte[] TIMERANGE_KEY
public static final byte[] EARLIEST_PUT_TS
public static final byte[] COMPACTION_EVENT_KEY
public static final byte[] BULKLOAD_TASK_KEY
public static final byte[] BULKLOAD_TIME_KEY
public StoreFile(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path p, org.apache.hadoop.conf.Configuration conf, CacheConfig cacheConf, BloomType cfBloomType) throws IOException
fs
- The current file system to use.p
- The path of the file.conf
- The current configuration.cacheConf
- The cache configuration and block cache reference.cfBloomType
- The bloom type to use for this store file as specified
by column family configuration. This may or may not be the same
as the Bloom filter type actually present in the HFile, because
column family configuration might change. If this is
BloomType.NONE
, the existing Bloom filter is ignored.IOException
- When opening the reader fails.public StoreFile(org.apache.hadoop.fs.FileSystem fs, StoreFileInfo fileInfo, org.apache.hadoop.conf.Configuration conf, CacheConfig cacheConf, BloomType cfBloomType) throws IOException
fs
- The current file system to use.fileInfo
- The store file information.conf
- The current configuration.cacheConf
- The cache configuration and block cache reference.cfBloomType
- The bloom type to use for this store file as specified
by column family configuration. This may or may not be the same
as the Bloom filter type actually present in the HFile, because
column family configuration might change. If this is
BloomType.NONE
, the existing Bloom filter is ignored.IOException
- When opening the reader fails.public StoreFile(StoreFile other)
other
- The StoreFile to clone frompublic byte[] getFirstKey()
public byte[] getLastKey()
public KeyValue.KVComparator getComparator()
public long getMaxMemstoreTS()
public void setMaxMemstoreTS(long maxMemstoreTS)
public StoreFile cloneForReader()
public StoreFileInfo getFileInfo()
public org.apache.hadoop.fs.Path getPath()
public org.apache.hadoop.fs.Path getEncodedPath()
public org.apache.hadoop.fs.Path getQualifiedPath()
public boolean isReference()
open(boolean canUseDropBehind)
else may get wrong answer.public boolean isHFile()
public boolean isMajorCompaction()
public boolean excludeFromMinorCompaction()
public long getMaxSequenceId()
public long getModificationTimeStamp() throws IOException
IOException
public byte[] getMetadataValue(byte[] key)
key
- public static long getMaxMemstoreTSInList(Collection<StoreFile> sfs)
public static long getMaxSequenceIdInList(Collection<StoreFile> sfs)
sfs
- public boolean isBulkLoadResult()
public boolean isCompactedAway()
public int getRefCount()
public long getBulkLoadTimestamp()
public HDFSBlocksDistribution getHDFSBlockDistribution()
public StoreFile.Reader createReader() throws IOException
IOException
public StoreFile.Reader createReader(boolean canUseDropBehind) throws IOException
IOException
public StoreFile.Reader getReader()
createReader()
public void closeReader(boolean evictOnClose) throws IOException
evictOnClose
- whether to evict blocks belonging to this fileIOException
public void markCompactedAway()
public void deleteReader() throws IOException
IOException
public String toStringDetailed()
public static org.apache.hadoop.fs.Path getUniqueFile(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path dir) throws IOException
fs
- dir
- Directory to create file in.dir
IOException
public Long getMinimumTimestamp()
public Long getMaximumTimestamp()
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.