@InterfaceAudience.Public public class HColumnDescriptor extends Object implements Comparable<HColumnDescriptor>
Modifier and Type | Field and Description |
---|---|
static String |
BLOCKCACHE
Key for the BLOCKCACHE attribute.
|
static String |
BLOCKSIZE
Size of storefile/hfile 'blocks'.
|
static String |
BLOOMFILTER |
static String |
CACHE_BLOOMS_ON_WRITE |
static String |
CACHE_DATA_IN_L1
Key for cache data into L1 if cache is set up with more than one tier.
|
static String |
CACHE_DATA_ON_WRITE |
static String |
CACHE_INDEX_ON_WRITE |
static String |
COMPRESS_TAGS |
static String |
COMPRESSION |
static String |
COMPRESSION_COMPACT |
static String |
DATA_BLOCK_ENCODING |
static boolean |
DEFAULT_BLOCKCACHE
Default setting for whether to use a block cache or not.
|
static int |
DEFAULT_BLOCKSIZE
Default size of blocks in files stored to the filesytem (hfiles).
|
static String |
DEFAULT_BLOOMFILTER
Default setting for whether or not to use bloomfilters.
|
static boolean |
DEFAULT_CACHE_BLOOMS_ON_WRITE
Default setting for whether to cache bloom filter blocks on write if block
caching is enabled.
|
static boolean |
DEFAULT_CACHE_DATA_IN_L1
Default setting for whether to cache data blocks in L1 tier.
|
static boolean |
DEFAULT_CACHE_DATA_ON_WRITE
Default setting for whether to cache data blocks on write if block caching
is enabled.
|
static boolean |
DEFAULT_CACHE_INDEX_ON_WRITE
Default setting for whether to cache index blocks on write if block
caching is enabled.
|
static boolean |
DEFAULT_COMPRESS_TAGS
Default compress tags along with any type of DataBlockEncoding.
|
static String |
DEFAULT_COMPRESSION
Default compression type.
|
static String |
DEFAULT_DATA_BLOCK_ENCODING
Default data block encoding algorithm.
|
static short |
DEFAULT_DFS_REPLICATION |
static boolean |
DEFAULT_ENCODE_ON_DISK
Default value of the flag that enables data block encoding on disk, as
opposed to encoding in cache only.
|
static boolean |
DEFAULT_EVICT_BLOCKS_ON_CLOSE
Default setting for whether to evict cached blocks from the blockcache on
close.
|
static boolean |
DEFAULT_IN_MEMORY
Default setting for whether to try and serve this column family from memory or not.
|
static KeepDeletedCells |
DEFAULT_KEEP_DELETED
Default setting for preventing deleted from being collected immediately.
|
static int |
DEFAULT_MIN_VERSIONS
Default is not to keep a minimum of versions.
|
static MobCompactPartitionPolicy |
DEFAULT_MOB_COMPACT_PARTITION_POLICY |
static long |
DEFAULT_MOB_THRESHOLD |
static boolean |
DEFAULT_PREFETCH_BLOCKS_ON_OPEN |
static int |
DEFAULT_REPLICATION_SCOPE
Default scope.
|
static int |
DEFAULT_TTL
Default time to live of cell contents.
|
static int |
DEFAULT_VERSIONS
Default number of versions of a record to keep.
|
static String |
DFS_REPLICATION |
static String |
ENCODE_ON_DISK |
static String |
ENCRYPTION |
static String |
ENCRYPTION_KEY |
static String |
EVICT_BLOCKS_ON_CLOSE |
static String |
FOREVER |
static String |
IN_MEMORY_COMPACTION |
static String |
IS_MOB |
static byte[] |
IS_MOB_BYTES |
static String |
KEEP_DELETED_CELLS
Retain all cells across flushes and compactions even if they fall behind
a delete tombstone.
|
static String |
LENGTH |
static String |
MIN_VERSIONS |
static String |
MOB_COMPACT_PARTITION_POLICY |
static byte[] |
MOB_COMPACT_PARTITION_POLICY_BYTES |
static String |
MOB_THRESHOLD |
static byte[] |
MOB_THRESHOLD_BYTES |
static String |
PREFETCH_BLOCKS_ON_OPEN
Key for the PREFETCH_BLOCKS_ON_OPEN attribute.
|
static String |
REPLICATION_SCOPE |
static byte[] |
REPLICATION_SCOPE_BYTES |
static String |
STORAGE_POLICY |
static String |
TTL |
Constructor and Description |
---|
HColumnDescriptor(byte[] familyName)
Construct a column descriptor specifying only the family name
The other attributes are defaulted.
|
HColumnDescriptor(HColumnDescriptor desc)
Constructor.
|
HColumnDescriptor(String familyName)
Construct a column descriptor specifying only the family name
The other attributes are defaulted.
|
public static final String IN_MEMORY_COMPACTION
public static final String COMPRESSION
public static final String COMPRESSION_COMPACT
public static final String ENCODE_ON_DISK
public static final String DATA_BLOCK_ENCODING
public static final String BLOCKCACHE
public static final String CACHE_DATA_ON_WRITE
public static final String CACHE_INDEX_ON_WRITE
public static final String CACHE_BLOOMS_ON_WRITE
public static final String EVICT_BLOCKS_ON_CLOSE
public static final String CACHE_DATA_IN_L1
hbase(main):003:0> create 't',
{NAME => 't', CONFIGURATION => {CACHE_DATA_IN_L1 => 'true'}}
public static final String PREFETCH_BLOCKS_ON_OPEN
public static final String BLOCKSIZE
DEFAULT_BLOCKSIZE
.
Use smaller block sizes for faster random-access at expense of larger
indices (more memory consumption). Note that this is a soft limit and that
blocks have overhead (metadata, CRCs) so blocks will tend to be the size
specified here and then some; i.e. don't expect that setting BLOCKSIZE=4k
means hbase data will align with an SSDs 4k page accesses (TODO).public static final String LENGTH
public static final String TTL
public static final String BLOOMFILTER
public static final String FOREVER
public static final String REPLICATION_SCOPE
public static final byte[] REPLICATION_SCOPE_BYTES
public static final String MIN_VERSIONS
public static final String KEEP_DELETED_CELLS
public static final String COMPRESS_TAGS
public static final String ENCRYPTION
public static final String ENCRYPTION_KEY
public static final String IS_MOB
public static final byte[] IS_MOB_BYTES
public static final String MOB_THRESHOLD
public static final byte[] MOB_THRESHOLD_BYTES
public static final long DEFAULT_MOB_THRESHOLD
public static final String MOB_COMPACT_PARTITION_POLICY
public static final byte[] MOB_COMPACT_PARTITION_POLICY_BYTES
public static final MobCompactPartitionPolicy DEFAULT_MOB_COMPACT_PARTITION_POLICY
public static final String DFS_REPLICATION
public static final short DEFAULT_DFS_REPLICATION
public static final String STORAGE_POLICY
public static final String DEFAULT_COMPRESSION
public static final boolean DEFAULT_ENCODE_ON_DISK
DATA_BLOCK_ENCODING
is not NONE.public static final String DEFAULT_DATA_BLOCK_ENCODING
public static final int DEFAULT_VERSIONS
public static final int DEFAULT_MIN_VERSIONS
public static final boolean DEFAULT_IN_MEMORY
public static final KeepDeletedCells DEFAULT_KEEP_DELETED
public static final boolean DEFAULT_BLOCKCACHE
public static final boolean DEFAULT_CACHE_DATA_ON_WRITE
public static final boolean DEFAULT_CACHE_DATA_IN_L1
public static final boolean DEFAULT_CACHE_INDEX_ON_WRITE
public static final int DEFAULT_BLOCKSIZE
public static final String DEFAULT_BLOOMFILTER
public static final boolean DEFAULT_CACHE_BLOOMS_ON_WRITE
public static final int DEFAULT_TTL
public static final int DEFAULT_REPLICATION_SCOPE
public static final boolean DEFAULT_EVICT_BLOCKS_ON_CLOSE
public static final boolean DEFAULT_COMPRESS_TAGS
public static final boolean DEFAULT_PREFETCH_BLOCKS_ON_OPEN
public HColumnDescriptor(String familyName)
familyName
- Column family name. Must be 'printable' -- digit or
letter -- and may not contain a :
public HColumnDescriptor(byte[] familyName)
familyName
- Column family name. Must be 'printable' -- digit or
letter -- and may not contain a :
public HColumnDescriptor(HColumnDescriptor desc)
desc
- The descriptor.public static byte[] isLegalFamilyName(byte[] b)
b
- Family name.b
IllegalArgumentException
- If not null and not a legitimate family
name: i.e. 'printable' and ends in a ':' (Null passes are allowed because
b
can be null when deserializing). Cannot start with a '.'
either. Also Family can not be an empty value or equal "recovered.edits".public byte[] getName()
public String getNameAsString()
public byte[] getValue(byte[] key)
key
- The key.public String getValue(String key)
key
- The key.public HColumnDescriptor setValue(byte[] key, byte[] value)
key
- The key.value
- The value.public void remove(byte[] key)
key
- Key whose key and value we're to remove from HCD parameters.public HColumnDescriptor setValue(String key, String value)
key
- The key.value
- The value.@Deprecated public Compression.Algorithm getCompression()
getCompressionType()
.@Deprecated public Compression.Algorithm getCompactionCompression()
getCompactionCompressionType()
.public int getMaxVersions()
public HColumnDescriptor setMaxVersions(int maxVersions)
maxVersions
- maximum number of versionspublic HColumnDescriptor setVersions(int minVersions, int maxVersions)
minVersions
- minimal number of versionsmaxVersions
- maximum number of versionspublic int getBlocksize()
public HColumnDescriptor setBlocksize(int s)
s
- Blocksize to use when writing out storefiles/hfiles on this
column family.public Compression.Algorithm getCompressionType()
public HColumnDescriptor setCompressionType(Compression.Algorithm type)
type
- Compression type setting.public DataBlockEncoding getDataBlockEncoding()
public HColumnDescriptor setDataBlockEncoding(DataBlockEncoding type)
type
- What kind of data block encoding will be used.public HColumnDescriptor setCompressTags(boolean compressTags)
compressTags
- public boolean isCompressTags()
public Compression.Algorithm getCompactionCompressionType()
public HColumnDescriptor setCompactionCompressionType(Compression.Algorithm type)
type
- Compression type setting.public boolean isInMemory()
public HColumnDescriptor setInMemory(boolean inMemory)
inMemory
- True if we are to favor keeping all values for this column family in the
HRegionServer cachepublic MemoryCompactionPolicy getInMemoryCompaction()
public HColumnDescriptor setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction)
inMemoryCompaction
- the prefered in-memory compaction policy
for this column familypublic KeepDeletedCells getKeepDeletedCells()
public HColumnDescriptor setKeepDeletedCells(KeepDeletedCells keepDeletedCells)
keepDeletedCells
- True if deleted rows should not be collected
immediately.public int getTimeToLive()
public HColumnDescriptor setTimeToLive(int timeToLive)
timeToLive
- Time-to-live of cell contents, in seconds.public HColumnDescriptor setTimeToLive(String timeToLive) throws HBaseException
timeToLive
- Time to live of cell contents, in human readable formatHBaseException
PrettyPrinter.format(String, Unit)
public int getMinVersions()
public HColumnDescriptor setMinVersions(int minVersions)
minVersions
- The minimum number of versions to keep.
(used when timeToLive is set)public boolean isBlockCacheEnabled()
public HColumnDescriptor setBlockCacheEnabled(boolean blockCacheEnabled)
blockCacheEnabled
- True if hfile DATA type blocks should be cached (We always cache
INDEX and BLOOM blocks; you cannot turn this off).public BloomType getBloomFilterType()
public HColumnDescriptor setBloomFilterType(BloomType bt)
bt
- bloom filter typepublic int getScope()
public HColumnDescriptor setScope(int scope)
scope
- the scope tagpublic boolean isCacheDataOnWrite()
public HColumnDescriptor setCacheDataOnWrite(boolean value)
value
- true if we should cache data blocks on writepublic boolean isCacheDataInL1()
public HColumnDescriptor setCacheDataInL1(boolean value)
value
- true if we should cache data blocks in the L1 cache (if block cache deploy
has more than one tier; e.g. we are using CombinedBlockCache).public boolean isCacheIndexesOnWrite()
public HColumnDescriptor setCacheIndexesOnWrite(boolean value)
value
- true if we should cache index blocks on writepublic boolean isCacheBloomsOnWrite()
public HColumnDescriptor setCacheBloomsOnWrite(boolean value)
value
- true if we should cache bloomfilter blocks on writepublic boolean isEvictBlocksOnClose()
public HColumnDescriptor setEvictBlocksOnClose(boolean value)
value
- true if we should evict cached blocks from the blockcache on
closepublic boolean isPrefetchBlocksOnOpen()
public HColumnDescriptor setPrefetchBlocksOnOpen(boolean value)
value
- true if we should prefetch blocks into the blockcache on openpublic String toString()
toString
in class Object
Object.toString()
public String toStringCustomizedValues()
public static PrettyPrinter.Unit getUnit(String key)
public boolean equals(Object obj)
equals
in class Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in class Object
Object.hashCode()
public int compareTo(HColumnDescriptor o)
compareTo
in interface Comparable<HColumnDescriptor>
public byte[] toByteArray()
parseFrom(byte[])
public static HColumnDescriptor parseFrom(byte[] bytes) throws DeserializationException
bytes
- A pb serialized HColumnDescriptor
instance with pb magic prefixHColumnDescriptor
made from bytes
DeserializationException
toByteArray()
public String getConfigurationValue(String key)
public Map<String,String> getConfiguration()
configuration
map.public HColumnDescriptor setConfiguration(String key, String value)
configuration
map.key
- Config key. Same as XML config key e.g. hbase.something.or.other.value
- String value. If null, removes the configuration.public void removeConfiguration(String key)
configuration
map.public String getEncryptionType()
public HColumnDescriptor setEncryptionType(String algorithm)
algorithm
- public byte[] getEncryptionKey()
public HColumnDescriptor setEncryptionKey(byte[] keyBytes)
public long getMobThreshold()
public HColumnDescriptor setMobThreshold(long threshold)
threshold
- The mob threshold.public boolean isMobEnabled()
public HColumnDescriptor setMobEnabled(boolean isMobEnabled)
isMobEnabled
- Whether to enable the mob for the family.public MobCompactPartitionPolicy getMobCompactPartitionPolicy()
public HColumnDescriptor setMobCompactPartitionPolicy(MobCompactPartitionPolicy policy)
policy
- policy typepublic short getDFSReplication()
DEFAULT_DFS_REPLICATION
if not set.
DEFAULT_DFS_REPLICATION
value indicates that user has explicitly not set any
block replication factor for this CF, hence use the default replication factor set in
the file system.
public HColumnDescriptor setDFSReplication(short replication)
replication
- number of replicas the blocks(s) belonging to this CF should have, or
DEFAULT_DFS_REPLICATION
for the default replication factor set in the
filesystempublic String getStoragePolicy()
enum
here because HDFS is not using enum
for storage policy, see
org.apache.hadoop.hdfs.server.blockmanagement.BlockStoragePolicySuite for more detailspublic HColumnDescriptor setStoragePolicy(String policy)
policy
- the policy to set, valid setting includes: "LAZY_PERSIST",
"ALL_SSD", "ONE_SSD", "HOT", "WARM", "COLD"Copyright © 2007–2017 The Apache Software Foundation. All rights reserved.