private static final class ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor extends Object implements ColumnFamilyDescriptor, Comparable<ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor>
Modifier and Type | Field and Description |
---|---|
private Map<String,String> |
configuration
A map which holds the configuration specific to the column family.
|
private byte[] |
name |
private Map<Bytes,Bytes> |
values |
COMPARATOR, COMPARATOR_IGNORE_REPLICATION, REPLICATION_SCOPE_BYTES
Modifier | Constructor and Description |
---|---|
|
ModifyableColumnFamilyDescriptor(byte[] name)
Construct a column descriptor specifying only the family name The other attributes are
defaulted.
|
private |
ModifyableColumnFamilyDescriptor(byte[] name,
Map<Bytes,Bytes> values,
Map<String,String> config) |
|
ModifyableColumnFamilyDescriptor(ColumnFamilyDescriptor desc)
Constructor.
|
private final byte[] name
private final Map<String,String> configuration
@InterfaceAudience.Private public ModifyableColumnFamilyDescriptor(byte[] name)
name
- Column family name. Must be 'printable' -- digit or letter -- and may not contain
a :
TODO: make this private after the HCD is removed.@InterfaceAudience.Private public ModifyableColumnFamilyDescriptor(ColumnFamilyDescriptor desc)
desc
- The descriptor.public byte[] getName()
getName
in interface ColumnFamilyDescriptor
public String getNameAsString()
getNameAsString
in interface ColumnFamilyDescriptor
public Bytes getValue(Bytes key)
getValue
in interface ColumnFamilyDescriptor
key
- The key.public byte[] getValue(byte[] key)
getValue
in interface ColumnFamilyDescriptor
key
- The key.public String getValue(String key)
getValue
in interface ColumnFamilyDescriptor
key
- The key.public Map<Bytes,Bytes> getValues()
ColumnFamilyDescriptor
getValues
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setValue(byte[] key, byte[] value)
key
- The key.value
- The value.public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setValue(String key, String value)
private ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setValue(Bytes key, String value)
private ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setValue(Bytes key, Bytes value)
key
- The key.value
- The value.private static <T> Bytes toBytesOrNull(T t, Function<T,byte[]> f)
private <T> T getStringOrDefault(Bytes key, Function<String,T> function, T defaultValue)
private <T> T getOrDefault(Bytes key, Function<byte[],T> function, T defaultValue)
public int getMaxVersions()
getMaxVersions
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setMaxVersions(int maxVersions)
maxVersions
- maximum number of versionspublic ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setVersions(int minVersions, int maxVersions)
minVersions
- minimal number of versionsmaxVersions
- maximum number of versionspublic int getBlocksize()
getBlocksize
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setBlocksize(int s)
s
- Blocksize to use when writing out storefiles/hfiles on this column family.public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setBlocksize(String blocksize) throws HBaseException
HBaseException
public Compression.Algorithm getCompressionType()
getCompressionType
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setCompressionType(Compression.Algorithm type)
type
- Compression type setting.public DataBlockEncoding getDataBlockEncoding()
getDataBlockEncoding
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setDataBlockEncoding(DataBlockEncoding type)
type
- What kind of data block encoding will be used.public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setCompressTags(boolean compressTags)
public boolean isCompressTags()
isCompressTags
in interface ColumnFamilyDescriptor
public Compression.Algorithm getCompactionCompressionType()
getCompactionCompressionType
in interface ColumnFamilyDescriptor
public Compression.Algorithm getMajorCompactionCompressionType()
getMajorCompactionCompressionType
in interface ColumnFamilyDescriptor
public Compression.Algorithm getMinorCompactionCompressionType()
getMinorCompactionCompressionType
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setCompactionCompressionType(Compression.Algorithm type)
type
- Compression type setting.public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setMajorCompactionCompressionType(Compression.Algorithm type)
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setMinorCompactionCompressionType(Compression.Algorithm type)
public boolean isInMemory()
isInMemory
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setInMemory(boolean inMemory)
inMemory
- True if we are to favor keeping all values for this column family in the
HRegionServer cachepublic MemoryCompactionPolicy getInMemoryCompaction()
getInMemoryCompaction
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction)
inMemoryCompaction
- the prefered in-memory compaction policy for this column familypublic KeepDeletedCells getKeepDeletedCells()
getKeepDeletedCells
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setKeepDeletedCells(KeepDeletedCells keepDeletedCells)
keepDeletedCells
- True if deleted rows should not be collected immediately.public boolean isNewVersionBehavior()
isNewVersionBehavior
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setNewVersionBehavior(boolean newVersionBehavior)
public int getTimeToLive()
getTimeToLive
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setTimeToLive(int timeToLive)
timeToLive
- Time-to-live of cell contents, in seconds.public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setTimeToLive(String timeToLive) throws HBaseException
timeToLive
- Time-to-live of cell contents, in seconds.HBaseException
public int getMinVersions()
getMinVersions
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setMinVersions(int minVersions)
minVersions
- The minimum number of versions to keep. (used when timeToLive is set)public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setVersionsWithTimeToLive(int retentionInterval, int versionAfterInterval)
retentionInterval
- Retain all versions for this intervalversionAfterInterval
- Retain no of versions to retain after retentionIntervalpublic boolean isBlockCacheEnabled()
isBlockCacheEnabled
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor 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()
getBloomFilterType
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setBloomFilterType(BloomType bt)
public int getScope()
getScope
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setScope(int scope)
scope
- the scope tagpublic boolean isCacheDataOnWrite()
isCacheDataOnWrite
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setCacheDataOnWrite(boolean value)
value
- true if we should cache data blocks on writepublic boolean isCacheIndexesOnWrite()
isCacheIndexesOnWrite
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setCacheIndexesOnWrite(boolean value)
value
- true if we should cache index blocks on writepublic boolean isCacheBloomsOnWrite()
isCacheBloomsOnWrite
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setCacheBloomsOnWrite(boolean value)
value
- true if we should cache bloomfilter blocks on writepublic boolean isEvictBlocksOnClose()
isEvictBlocksOnClose
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setEvictBlocksOnClose(boolean value)
value
- true if we should evict cached blocks from the blockcache on closepublic boolean isPrefetchBlocksOnOpen()
isPrefetchBlocksOnOpen
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setPrefetchBlocksOnOpen(boolean value)
value
- true if we should prefetch blocks into the blockcache on openpublic String toStringCustomizedValues()
toStringCustomizedValues
in interface ColumnFamilyDescriptor
private StringBuilder getValues(boolean printDefaults)
public int compareTo(ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor other)
compareTo
in interface Comparable<ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor>
private byte[] toByteArray()
parseFrom(byte[])
private static ColumnFamilyDescriptor parseFrom(byte[] bytes) throws DeserializationException
bytes
- A pb serialized ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor
instance with pb magic
prefixColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor
made from bytes
n * @see #toByteArray()DeserializationException
public String getConfigurationValue(String key)
getConfigurationValue
in interface ColumnFamilyDescriptor
key
- the key whose associated value is to be returnedpublic Map<String,String> getConfiguration()
getConfiguration
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor 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 ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor removeConfiguration(String key)
configuration
map. n
* @return this (for chained invocation)public String getEncryptionType()
getEncryptionType
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setEncryptionType(String algorithm)
public byte[] getEncryptionKey()
getEncryptionKey
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setEncryptionKey(byte[] keyBytes)
public long getMobThreshold()
ColumnFamilyDescriptor
getMobThreshold
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setMobThreshold(long threshold)
threshold
- The mob threshold.public boolean isMobEnabled()
ColumnFamilyDescriptor
isMobEnabled
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setMobEnabled(boolean isMobEnabled)
isMobEnabled
- Whether to enable the mob for the family.public MobCompactPartitionPolicy getMobCompactPartitionPolicy()
ColumnFamilyDescriptor
getMobCompactPartitionPolicy
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setMobCompactPartitionPolicy(MobCompactPartitionPolicy policy)
policy
- policy typepublic short getDFSReplication()
getDFSReplication
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setDFSReplication(short replication)
replication
- number of replicas the blocks(s) belonging to this CF should have, or
ColumnFamilyDescriptorBuilder.DEFAULT_DFS_REPLICATION
for the default replication factor set in
the filesystempublic String getStoragePolicy()
ColumnFamilyDescriptor
enum
here because HDFS is not using enum
for storage policy, see
org.apache.hadoop.hdfs.server.blockmanagement.BlockStoragePolicySuite for more details.getStoragePolicy
in interface ColumnFamilyDescriptor
public ColumnFamilyDescriptorBuilder.ModifyableColumnFamilyDescriptor setStoragePolicy(String policy)
policy
- the policy to set, valid setting includes: "LAZY_PERSIST",
"ALL_SSD", "ONE_SSD", "HOT", "WARM", "COLD"Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.