@InterfaceAudience.Public @InterfaceStability.Evolving public class HColumnDescriptor extends Object implements org.apache.hadoop.io.WritableComparable<HColumnDescriptor>
Modifier and Type | Field and Description |
---|---|
static String |
BLOCKCACHE |
static String |
BLOCKSIZE
Size of storefile/hfile 'blocks'.
|
static String |
BLOOMFILTER |
static String |
CACHE_BLOOMS_ON_WRITE |
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_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 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 serve from memory or not.
|
static boolean |
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 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 |
ENCODE_ON_DISK |
static String |
ENCRYPTION |
static String |
ENCRYPTION_KEY |
static String |
EVICT_BLOCKS_ON_CLOSE |
static String |
FOREVER |
static String |
KEEP_DELETED_CELLS |
static String |
LENGTH |
static String |
MIN_VERSIONS |
static String |
REPLICATION_SCOPE |
static byte[] |
REPLICATION_SCOPE_BYTES |
static String |
TTL |
Constructor and Description |
---|
HColumnDescriptor()
Deprecated.
Used by Writables and Writables are going away.
|
HColumnDescriptor(byte[] familyName)
Construct a column descriptor specifying only the family name
The other attributes are defaulted.
|
HColumnDescriptor(byte[] familyName,
int minVersions,
int maxVersions,
boolean keepDeletedCells,
String compression,
boolean encodeOnDisk,
String dataBlockEncoding,
boolean inMemory,
boolean blockCacheEnabled,
int blocksize,
int timeToLive,
String bloomFilter,
int scope)
Deprecated.
use
HColumnDescriptor(String) and setters |
HColumnDescriptor(byte[] familyName,
int maxVersions,
String compression,
boolean inMemory,
boolean blockCacheEnabled,
int blocksize,
int timeToLive,
String bloomFilter,
int scope)
Deprecated.
use
HColumnDescriptor(String) and setters |
HColumnDescriptor(byte[] familyName,
int maxVersions,
String compression,
boolean inMemory,
boolean blockCacheEnabled,
int timeToLive,
String bloomFilter)
Deprecated.
use
HColumnDescriptor(String) and setters |
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 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 BLOCKSIZE
DEFAULT_BLOCKSIZE
.
Use smaller block sizes for faster random-access at expense of larger
indices (more memory consumption).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 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 boolean DEFAULT_KEEP_DELETED
public static final boolean DEFAULT_BLOCKCACHE
public static final boolean DEFAULT_CACHE_DATA_ON_WRITE
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
@Deprecated public HColumnDescriptor()
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.@Deprecated public HColumnDescriptor(byte[] familyName, int maxVersions, String compression, boolean inMemory, boolean blockCacheEnabled, int timeToLive, String bloomFilter)
HColumnDescriptor(String)
and settersfamilyName
- Column family name. Must be 'printable' -- digit or
letter -- and may not contain a :
maxVersions
- Maximum number of versions to keepcompression
- Compression typeinMemory
- If true, column data should be kept in an HRegionServer's
cacheblockCacheEnabled
- If true, MapFile blocks should be cachedtimeToLive
- Time-to-live of cell contents, in seconds
(use HConstants.FOREVER for unlimited TTL)bloomFilter
- Bloom filter type for this columnIllegalArgumentException
- if passed a family name that is made of
other than 'word' characters: i.e. [a-zA-Z_0-9]
or contains
a :
IllegalArgumentException
- if the number of versions is <= 0@Deprecated public HColumnDescriptor(byte[] familyName, int maxVersions, String compression, boolean inMemory, boolean blockCacheEnabled, int blocksize, int timeToLive, String bloomFilter, int scope)
HColumnDescriptor(String)
and settersfamilyName
- Column family name. Must be 'printable' -- digit or
letter -- and may not contain a :
maxVersions
- Maximum number of versions to keepcompression
- Compression typeinMemory
- If true, column data should be kept in an HRegionServer's
cacheblockCacheEnabled
- If true, MapFile blocks should be cachedblocksize
- Block size to use when writing out storefiles. Use
smaller block sizes for faster random-access at expense of larger indices
(more memory consumption). Default is usually 64k.timeToLive
- Time-to-live of cell contents, in seconds
(use HConstants.FOREVER for unlimited TTL)bloomFilter
- Bloom filter type for this columnscope
- The scope tag for this columnIllegalArgumentException
- if passed a family name that is made of
other than 'word' characters: i.e. [a-zA-Z_0-9]
or contains
a :
IllegalArgumentException
- if the number of versions is <= 0@Deprecated public HColumnDescriptor(byte[] familyName, int minVersions, int maxVersions, boolean keepDeletedCells, String compression, boolean encodeOnDisk, String dataBlockEncoding, boolean inMemory, boolean blockCacheEnabled, int blocksize, int timeToLive, String bloomFilter, int scope)
HColumnDescriptor(String)
and settersfamilyName
- Column family name. Must be 'printable' -- digit or
letter -- and may not contain a :
minVersions
- Minimum number of versions to keepmaxVersions
- Maximum number of versions to keepkeepDeletedCells
- Whether to retain deleted cells until they expire
up to maxVersions versions.compression
- Compression typeencodeOnDisk
- whether to use the specified data block encoding
on disk. If false, the encoding will be used in cache only.dataBlockEncoding
- data block encodinginMemory
- If true, column data should be kept in an HRegionServer's
cacheblockCacheEnabled
- If true, MapFile blocks should be cachedblocksize
- Block size to use when writing out storefiles. Use
smaller blocksizes for faster random-access at expense of larger indices
(more memory consumption). Default is usually 64k.timeToLive
- Time-to-live of cell contents, in seconds
(use HConstants.FOREVER for unlimited TTL)bloomFilter
- Bloom filter type for this columnscope
- The scope tag for this columnIllegalArgumentException
- if passed a family name that is made of
other than 'word' characters: i.e. [a-zA-Z_0-9]
or contains
a :
IllegalArgumentException
- if the number of versions is <= 0public 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 Map<ImmutableBytesWritable,ImmutableBytesWritable> getValues()
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.public Compression.Algorithm getCompression()
public Compression.Algorithm getCompactionCompression()
public int getMaxVersions()
public HColumnDescriptor setMaxVersions(int maxVersions)
maxVersions
- 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.@Deprecated public DataBlockEncoding getDataBlockEncodingOnDisk()
@Deprecated public HColumnDescriptor setEncodeOnDisk(boolean encodeOnDisk)
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 shouldCompressTags()
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 keep all values in the HRegionServer
cachepublic boolean getKeepDeletedCells()
public HColumnDescriptor setKeepDeletedCells(boolean 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 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 MapFile blocks should be cached.public BloomType getBloomFilterType()
public HColumnDescriptor setBloomFilterType(BloomType bt)
bt
- bloom filter typepublic int getScope()
public HColumnDescriptor setScope(int scope)
scope
- the scope tagpublic boolean shouldCacheDataOnWrite()
public HColumnDescriptor setCacheDataOnWrite(boolean value)
value
- true if we should cache data blocks on writepublic boolean shouldCacheIndexesOnWrite()
public HColumnDescriptor setCacheIndexesOnWrite(boolean value)
value
- true if we should cache index blocks on writepublic boolean shouldCacheBloomsOnWrite()
public HColumnDescriptor setCacheBloomsOnWrite(boolean value)
value
- true if we should cache bloomfilter blocks on writepublic boolean shouldEvictBlocksOnClose()
public HColumnDescriptor setEvictBlocksOnClose(boolean value)
value
- true if we should evict cached blocks from the blockcache on
closepublic String toString()
toString
in class Object
Object.toString()
public String toStringCustomizedValues()
public boolean equals(Object obj)
equals
in class Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in class Object
Object.hashCode()
@Deprecated public void readFields(DataInput in) throws IOException
parseFrom(byte[])
instead.readFields
in interface org.apache.hadoop.io.Writable
IOException
@Deprecated public void write(DataOutput out) throws IOException
toByteArray()
instead.write
in interface org.apache.hadoop.io.Writable
IOException
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 static HColumnDescriptor convert(HBaseProtos.ColumnFamilySchema cfs)
cfs
- HColumnDescriptor
made from the passed in cfs
public HBaseProtos.ColumnFamilySchema convert()
public String getConfigurationValue(String key)
public Map<String,String> getConfiguration()
configuration
map.public void 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)
Copyright © 2014 The Apache Software Foundation. All Rights Reserved.