org.apache.hadoop.hbase.client
Class Put

java.lang.Object
  extended by org.apache.hadoop.hbase.client.Operation
      extended by org.apache.hadoop.hbase.client.OperationWithAttributes
          extended by org.apache.hadoop.hbase.client.Mutation
              extended by org.apache.hadoop.hbase.client.Put
All Implemented Interfaces:
Comparable<Row>, Attributes, Row, HeapSize, org.apache.hadoop.io.Writable, org.apache.hadoop.io.WritableComparable<Row>

public class Put
extends Mutation
implements HeapSize, org.apache.hadoop.io.Writable, Row, Comparable<Row>

Used to perform Put operations for a single row.

To perform a Put, instantiate a Put object with the row to insert to and for each column to be inserted, execute add or add if setting the timestamp.


Field Summary
 
Fields inherited from class org.apache.hadoop.hbase.client.Mutation
familyMap, lockId, row, ts, writeToWAL
 
Constructor Summary
Put()
          Constructor for Writable.
Put(byte[] row)
          Create a Put operation for the specified row.
Put(byte[] row, long ts)
          Create a Put operation for the specified row, using a given timestamp.
Put(byte[] row, long ts, RowLock rowLock)
          Create a Put operation for the specified row, using a given timestamp, and an existing row lock.
Put(byte[] row, RowLock rowLock)
          Create a Put operation for the specified row, using an existing row lock.
Put(Put putToCopy)
          Copy constructor.
 
Method Summary
 Put add(byte[] family, byte[] qualifier, byte[] value)
          Add the specified column and value to this Put operation.
 Put add(byte[] family, byte[] qualifier, long ts, byte[] value)
          Add the specified column and value, with the specified timestamp as its version to this Put operation.
 Put add(KeyValue kv)
          Add the specified KeyValue to this Put operation.
 List<KeyValue> get(byte[] family, byte[] qualifier)
          Returns a list of all KeyValue objects with matching column family and qualifier.
 boolean has(byte[] family, byte[] qualifier)
          A convenience method to determine if this object's familyMap contains a value assigned to the given family & qualifier.
 boolean has(byte[] family, byte[] qualifier, byte[] value)
          A convenience method to determine if this object's familyMap contains a value assigned to the given family, qualifier and timestamp.
 boolean has(byte[] family, byte[] qualifier, long ts)
          A convenience method to determine if this object's familyMap contains a value assigned to the given family, qualifier and timestamp.
 boolean has(byte[] family, byte[] qualifier, long ts, byte[] value)
          A convenience method to determine if this object's familyMap contains the given value assigned to the given family, qualifier and timestamp.
 long heapSize()
           
 int numFamilies()
           
 void readFields(DataInput in)
           
 int size()
           
 void write(DataOutput out)
           
 
Methods inherited from class org.apache.hadoop.hbase.client.Mutation
compareTo, getClusterId, getFamilyMap, getFingerprint, getLockId, getRow, getRowLock, getTimeStamp, getWriteToWAL, isEmpty, setClusterId, setFamilyMap, setWriteToWAL, toMap
 
Methods inherited from class org.apache.hadoop.hbase.client.OperationWithAttributes
getAttribute, getAttributeSize, getAttributesMap, readAttributes, setAttribute, writeAttributes
 
Methods inherited from class org.apache.hadoop.hbase.client.Operation
toJSON, toJSON, toMap, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.hadoop.hbase.client.Row
getRow
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Constructor Detail

Put

public Put()
Constructor for Writable. DO NOT USE


Put

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

Parameters:
row - row key

Put

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

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

Put

public Put(byte[] row,
           long ts)
Create a Put operation for the specified row, using a given timestamp.

Parameters:
row - row key
ts - timestamp

Put

public Put(byte[] row,
           long ts,
           RowLock rowLock)
Create a Put operation for the specified row, using a given timestamp, and an existing row lock.

Parameters:
row - row key
ts - timestamp
rowLock - previously acquired row lock, or null

Put

public Put(Put putToCopy)
Copy constructor. Creates a Put operation cloned from the specified Put.

Parameters:
putToCopy - put to copy
Method Detail

add

public Put add(byte[] family,
               byte[] qualifier,
               byte[] value)
Add the specified column and value to this Put operation.

Parameters:
family - family name
qualifier - column qualifier
value - column value
Returns:
this

add

public Put add(byte[] family,
               byte[] qualifier,
               long ts,
               byte[] value)
Add the specified column and value, with the specified timestamp as its version to this Put operation.

Parameters:
family - family name
qualifier - column qualifier
ts - version timestamp
value - column value
Returns:
this

add

public Put add(KeyValue kv)
        throws IOException
Add the specified KeyValue to this Put operation. Operation assumes that the passed KeyValue is immutable and its backing array will not be modified for the duration of this Put.

Parameters:
kv - individual KeyValue
Returns:
this
Throws:
IOException - e

has

public boolean has(byte[] family,
                   byte[] qualifier)
A convenience method to determine if this object's familyMap contains a value assigned to the given family & qualifier. Both given arguments must match the KeyValue object to return true.

Parameters:
family - column family
qualifier - column qualifier
Returns:
returns true if the given family and qualifier already has an existing KeyValue object in the family map.

has

public boolean has(byte[] family,
                   byte[] qualifier,
                   long ts)
A convenience method to determine if this object's familyMap contains a value assigned to the given family, qualifier and timestamp. All 3 given arguments must match the KeyValue object to return true.

Parameters:
family - column family
qualifier - column qualifier
ts - timestamp
Returns:
returns true if the given family, qualifier and timestamp already has an existing KeyValue object in the family map.

has

public boolean has(byte[] family,
                   byte[] qualifier,
                   byte[] value)
A convenience method to determine if this object's familyMap contains a value assigned to the given family, qualifier and timestamp. All 3 given arguments must match the KeyValue object to return true.

Parameters:
family - column family
qualifier - column qualifier
value - value to check
Returns:
returns true if the given family, qualifier and value already has an existing KeyValue object in the family map.

has

public boolean has(byte[] family,
                   byte[] qualifier,
                   long ts,
                   byte[] value)
A convenience method to determine if this object's familyMap contains the given value assigned to the given family, qualifier and timestamp. All 4 given arguments must match the KeyValue object to return true.

Parameters:
family - column family
qualifier - column qualifier
ts - timestamp
value - value to check
Returns:
returns true if the given family, qualifier timestamp and value already has an existing KeyValue object in the family map.

get

public List<KeyValue> get(byte[] family,
                          byte[] qualifier)
Returns a list of all KeyValue objects with matching column family and qualifier.

Parameters:
family - column family
qualifier - column qualifier
Returns:
a list of KeyValue objects with the matching family and qualifier, returns an empty list if one doesnt exist for the given family.

numFamilies

public int numFamilies()
Returns:
the number of different families included in this put

size

public int size()
Returns:
the total number of KeyValues that will be added with this put

heapSize

public long heapSize()
Specified by:
heapSize in interface HeapSize
Returns:
Approximate 'exclusive deep size' of implementing object. Includes count of payload and hosting object sizings.

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


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