org.apache.hadoop.hbase.util.migration.v5
Class HColumnDescriptor

java.lang.Object
  extended by org.apache.hadoop.hbase.util.migration.v5.HColumnDescriptor
All Implemented Interfaces:
Comparable, org.apache.hadoop.io.Writable, org.apache.hadoop.io.WritableComparable

public class HColumnDescriptor
extends Object
implements org.apache.hadoop.io.WritableComparable

An HColumnDescriptor contains information about a column family such as the number of versions, compression settings, etc. It is used as input when creating a table or adding a column. Once set, the parameters that specify a column cannot be changed without deleting the column and recreating it. If there is data stored in the column, it will be deleted when the column is deleted.


Nested Class Summary
static class HColumnDescriptor.CompressionType
          The type of compression.
 
Field Summary
static String BLOCKCACHE
           
static String BLOOMFILTER
           
static String COMPRESSION
           
static boolean DEFAULT_BLOCKCACHE
          Default setting for whether to use a block cache or not.
static boolean DEFAULT_BLOOMFILTER
          Default setting for whether or not to use bloomfilters.
static HColumnDescriptor.CompressionType DEFAULT_COMPRESSION
          Default compression type.
static boolean DEFAULT_IN_MEMORY
          Default setting for whether to serve from memory or not.
static int DEFAULT_LENGTH
          Default maximum cell length.
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 FOREVER
           
static String IN_MEMORY
           
static String LENGTH
           
static String TTL
           
 
Constructor Summary
HColumnDescriptor()
          Default constructor.
HColumnDescriptor(byte[] columnName)
          Construct a column descriptor specifying only the family name The other attributes are defaulted.
HColumnDescriptor(byte[] columnName, int maxVersions, HColumnDescriptor.CompressionType compression, boolean inMemory, boolean blockCacheEnabled, int maxValueLength, int timeToLive, boolean bloomFilter)
          Constructor
HColumnDescriptor(String columnName)
          Construct a column descriptor specifying only the family name The other attributes are defaulted.
HColumnDescriptor(org.apache.hadoop.io.Text columnName)
          Construct a column descriptor specifying only the family name The other attributes are defaulted.
 
Method Summary
 int compareTo(Object o)
          
 boolean equals(Object obj)
          
 HColumnDescriptor.CompressionType getCompression()
           
 HColumnDescriptor.CompressionType getCompressionType()
           
 int getMaxValueLength()
           
 int getMaxVersions()
           
 byte[] getName()
           
 String getNameAsString()
           
 int getTimeToLive()
           
 int hashCode()
          
 boolean isBlockCacheEnabled()
           
 boolean isBloomFilterEnabled()
           
 boolean isInMemory()
           
static byte[] isLegalFamilyName(byte[] b)
           
 void readFields(DataInput in)
          
 String toString()
          
 void write(DataOutput out)
          
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

COMPRESSION

public static final String COMPRESSION
See Also:
Constant Field Values

IN_MEMORY

public static final String IN_MEMORY
See Also:
Constant Field Values

BLOCKCACHE

public static final String BLOCKCACHE
See Also:
Constant Field Values

LENGTH

public static final String LENGTH
See Also:
Constant Field Values

TTL

public static final String TTL
See Also:
Constant Field Values

BLOOMFILTER

public static final String BLOOMFILTER
See Also:
Constant Field Values

FOREVER

public static final String FOREVER
See Also:
Constant Field Values

DEFAULT_COMPRESSION

public static final HColumnDescriptor.CompressionType DEFAULT_COMPRESSION
Default compression type.


DEFAULT_VERSIONS

public static final int DEFAULT_VERSIONS
Default number of versions of a record to keep.

See Also:
Constant Field Values

DEFAULT_LENGTH

public static final int DEFAULT_LENGTH
Default maximum cell length.

See Also:
Constant Field Values

DEFAULT_IN_MEMORY

public static final boolean DEFAULT_IN_MEMORY
Default setting for whether to serve from memory or not.

See Also:
Constant Field Values

DEFAULT_BLOCKCACHE

public static final boolean DEFAULT_BLOCKCACHE
Default setting for whether to use a block cache or not.

See Also:
Constant Field Values

DEFAULT_BLOOMFILTER

public static final boolean DEFAULT_BLOOMFILTER
Default setting for whether or not to use bloomfilters.

See Also:
Constant Field Values

DEFAULT_TTL

public static final int DEFAULT_TTL
Default time to live of cell contents.

See Also:
Constant Field Values
Constructor Detail

HColumnDescriptor

public HColumnDescriptor()
Default constructor. Must be present for Writable.


HColumnDescriptor

public HColumnDescriptor(String columnName)
Construct a column descriptor specifying only the family name The other attributes are defaulted.

Parameters:
columnName - - column family name

HColumnDescriptor

public HColumnDescriptor(org.apache.hadoop.io.Text columnName)
Construct a column descriptor specifying only the family name The other attributes are defaulted.

Parameters:
columnName - - column family name

HColumnDescriptor

public HColumnDescriptor(byte[] columnName)
Construct a column descriptor specifying only the family name The other attributes are defaulted.

Parameters:
columnName - Column family name. Must have the ':' ending.

HColumnDescriptor

public HColumnDescriptor(byte[] columnName,
                         int maxVersions,
                         HColumnDescriptor.CompressionType compression,
                         boolean inMemory,
                         boolean blockCacheEnabled,
                         int maxValueLength,
                         int timeToLive,
                         boolean bloomFilter)
Constructor

Parameters:
columnName - Column family name. Must have the ':' ending.
maxVersions - Maximum number of versions to keep
compression - Compression type
inMemory - If true, column data should be kept in an HRegionServer's cache
blockCacheEnabled - If true, MapFile blocks should be cached
maxValueLength - Restrict values to <= this value
timeToLive - Time-to-live of cell contents, in seconds from last timestamp (use HConstants.FOREVER for unlimited TTL)
bloomFilter - Enable the specified bloom filter for this column
Throws:
IllegalArgumentException - if passed a family name that is made of other than 'word' characters: i.e. [a-zA-Z_0-9] and does not end in a :
IllegalArgumentException - if the number of versions is <= 0
Method Detail

isLegalFamilyName

public static byte[] isLegalFamilyName(byte[] b)
Parameters:
b - Family name.
Returns:
b
Throws:
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).

getName

public byte[] getName()
Returns:
Name of this column family

getNameAsString

public String getNameAsString()
Returns:
Name of this column family

getCompression

public HColumnDescriptor.CompressionType getCompression()
Returns:
compression type being used for the column family

getMaxVersions

public int getMaxVersions()
Returns:
maximum number of versions

getCompressionType

public HColumnDescriptor.CompressionType getCompressionType()
Returns:
Compression type setting.

isInMemory

public boolean isInMemory()
Returns:
True if we are to keep all in use HRegionServer cache.

getMaxValueLength

public int getMaxValueLength()
Returns:
Maximum value length.

getTimeToLive

public int getTimeToLive()
Returns:
Time to live.

isBlockCacheEnabled

public boolean isBlockCacheEnabled()
Returns:
True if MapFile blocks should be cached.

isBloomFilterEnabled

public boolean isBloomFilterEnabled()
Returns:
true if a bloom filter is enabled

toString

public String toString()

Overrides:
toString in class Object

equals

public boolean equals(Object obj)

Overrides:
equals in class Object

hashCode

public int hashCode()

Overrides:
hashCode in class Object

readFields

public void readFields(DataInput in)
                throws IOException

Specified by:
readFields in interface org.apache.hadoop.io.Writable
Throws:
IOException

write

public void write(DataOutput out)
           throws IOException

Specified by:
write in interface org.apache.hadoop.io.Writable
Throws:
IOException

compareTo

public int compareTo(Object o)

Specified by:
compareTo in interface Comparable


Copyright © 2008 The Apache Software Foundation