org.apache.hadoop.hbase.client
Class Get

java.lang.Object
  extended by org.apache.hadoop.hbase.client.Get
All Implemented Interfaces:
Comparable<Row>, Row, org.apache.hadoop.io.Writable, org.apache.hadoop.io.WritableComparable<Row>

public class Get
extends Object
implements org.apache.hadoop.io.Writable, Row, Comparable<Row>

Used to perform Get operations on a single row.

To get everything for a row, instantiate a Get object with the row to get. To further define the scope of what to get, perform additional methods as outlined below.

To get all columns from specific families, execute addFamily for each family to retrieve.

To get specific columns, execute addColumn for each column to retrieve.

To only retrieve columns within a specific range of version timestamps, execute setTimeRange.

To only retrieve columns with a specific timestamp, execute setTimestamp.

To limit the number of versions of each column to be returned, execute setMaxVersions.

To add a filter, execute setFilter.


Constructor Summary
Get()
          Constructor for Writable.
Get(byte[] row)
          Create a Get operation for the specified row.
Get(byte[] row, RowLock rowLock)
          Create a Get operation for the specified row, using an existing row lock.
 
Method Summary
 Get addColumn(byte[] column)
          Deprecated. use addColumn(byte[], byte[]) instead
 Get addColumn(byte[] family, byte[] qualifier)
          Get the column from the specific family with the specified qualifier.
 Get addColumns(byte[][] columns)
          Deprecated. issue multiple addColumn(byte[], byte[]) instead
 Get addFamily(byte[] family)
          Get all columns from the specified family.
 int compareTo(Row other)
           
 Set<byte[]> familySet()
          Method for retrieving the keys in the familyMap
 boolean getCacheBlocks()
          Get whether blocks should be cached for this Get.
 Map<byte[],NavigableSet<byte[]>> getFamilyMap()
          Method for retrieving the get's familyMap
 Filter getFilter()
           
 long getLockId()
          Method for retrieving the get's lockId
 int getMaxVersions()
          Method for retrieving the get's maximum number of version
 byte[] getRow()
          Method for retrieving the get's row
 RowLock getRowLock()
          Method for retrieving the get's RowLock
 TimeRange getTimeRange()
          Method for retrieving the get's TimeRange
 boolean hasFamilies()
          Method for checking if any families have been inserted into this Get
 int numFamilies()
          Method for retrieving the number of families to get from
 void readFields(DataInput in)
           
 void setCacheBlocks(boolean cacheBlocks)
          Set whether blocks should be cached for this Get.
 Get setFilter(Filter filter)
          Apply the specified server-side filter when performing the Get.
 Get setMaxVersions()
          Get all available versions.
 Get setMaxVersions(int maxVersions)
          Get up to the specified number of versions of each column.
 Get setTimeRange(long minStamp, long maxStamp)
          Get versions of columns only within the specified timestamp range, [minStamp, maxStamp).
 Get setTimeStamp(long timestamp)
          Get versions of columns with the specified timestamp.
 String toString()
           
 void write(DataOutput out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Get

public Get()
Constructor for Writable. DO NOT USE


Get

public Get(byte[] row)
Create a Get operation for the specified row.

If no further operations are done, this will get the latest version of all columns in all families of the specified row.

Parameters:
row - row key

Get

public Get(byte[] row,
           RowLock rowLock)
Create a Get operation for the specified row, using an existing row lock.

If no further operations are done, this will get the latest version of all columns in all families of the specified row.

Parameters:
row - row key
rowLock - previously acquired row lock, or null
Method Detail

addFamily

public Get addFamily(byte[] family)
Get all columns from the specified family.

Overrides previous calls to addColumn for this family.

Parameters:
family - family name
Returns:
the Get object

addColumn

public Get addColumn(byte[] family,
                     byte[] qualifier)
Get the column from the specific family with the specified qualifier.

Overrides previous calls to addFamily for this family.

Parameters:
family - family name
qualifier - column qualifier
Returns:
the Get objec

setTimeRange

public Get setTimeRange(long minStamp,
                        long maxStamp)
                 throws IOException
Get versions of columns only within the specified timestamp range, [minStamp, maxStamp).

Parameters:
minStamp - minimum timestamp value, inclusive
maxStamp - maximum timestamp value, exclusive
Returns:
this for invocation chaining
Throws:
IOException - if invalid time range

setTimeStamp

public Get setTimeStamp(long timestamp)
Get versions of columns with the specified timestamp.

Parameters:
timestamp - version timestamp
Returns:
this for invocation chaining

setMaxVersions

public Get setMaxVersions()
Get all available versions.

Returns:
this for invocation chaining

setMaxVersions

public Get setMaxVersions(int maxVersions)
                   throws IOException
Get up to the specified number of versions of each column.

Parameters:
maxVersions - maximum versions for each column
Returns:
this for invocation chaining
Throws:
IOException - if invalid number of versions

setFilter

public Get setFilter(Filter filter)
Apply the specified server-side filter when performing the Get. Only Filter.filterKeyValue(KeyValue) is called AFTER all tests for ttl, column match, deletes and max versions have been run.

Parameters:
filter - filter to run on the server
Returns:
this for invocation chaining

getFilter

public Filter getFilter()
Returns:
Filter

setCacheBlocks

public void setCacheBlocks(boolean cacheBlocks)
Set whether blocks should be cached for this Get.

This is true by default. When true, default settings of the table and family are used (this will never override caching blocks if the block cache is disabled for that family or entirely).

Parameters:
cacheBlocks - if false, default settings are overridden and blocks will not be cached

getCacheBlocks

public boolean getCacheBlocks()
Get whether blocks should be cached for this Get.

Returns:
true if default caching should be used, false if blocks should not be cached

getRow

public byte[] getRow()
Method for retrieving the get's row

Specified by:
getRow in interface Row
Returns:
row

getRowLock

public RowLock getRowLock()
Method for retrieving the get's RowLock

Returns:
RowLock

getLockId

public long getLockId()
Method for retrieving the get's lockId

Returns:
lockId

getMaxVersions

public int getMaxVersions()
Method for retrieving the get's maximum number of version

Returns:
the maximum number of version to fetch for this get

getTimeRange

public TimeRange getTimeRange()
Method for retrieving the get's TimeRange

Returns:
timeRange

familySet

public Set<byte[]> familySet()
Method for retrieving the keys in the familyMap

Returns:
keys in the current familyMap

numFamilies

public int numFamilies()
Method for retrieving the number of families to get from

Returns:
number of families

hasFamilies

public boolean hasFamilies()
Method for checking if any families have been inserted into this Get

Returns:
true if familyMap is non empty false otherwise

getFamilyMap

public Map<byte[],NavigableSet<byte[]>> getFamilyMap()
Method for retrieving the get's familyMap

Returns:
familyMap

toString

public String toString()
Overrides:
toString in class Object
Returns:
String

compareTo

public int compareTo(Row other)
Specified by:
compareTo in interface Comparable<Row>

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

addColumns

public Get addColumns(byte[][] columns)
Deprecated. issue multiple addColumn(byte[], byte[]) instead

Adds an array of columns specified the old format, family:qualifier.

Overrides previous calls to addFamily for any families in the input.

Parameters:
columns - array of columns, formatted as
family:qualifier
Returns:
this for invocation chaining

addColumn

public Get addColumn(byte[] column)
Deprecated. use addColumn(byte[], byte[]) instead

Parameters:
column - Old format column.
Returns:
This.


Copyright © 2011 The Apache Software Foundation. All Rights Reserved.