org.apache.hadoop.hbase.thrift
Class ThriftServerRunner.HBaseHandler

java.lang.Object
  extended by org.apache.hadoop.hbase.thrift.ThriftServerRunner.HBaseHandler
All Implemented Interfaces:
Hbase.Iface
Enclosing class:
ThriftServerRunner

public static class ThriftServerRunner.HBaseHandler
extends Object
implements Hbase.Iface

The HBaseHandler is a glue object that connects Thrift RPC calls to the HBase client API primarily defined in the HBaseAdmin and HTable objects.


Field Summary
protected  HBaseAdmin admin
           
protected  org.apache.hadoop.conf.Configuration conf
           
protected  org.apache.commons.logging.Log LOG
           
protected  int nextScannerId
           
protected  HashMap<Integer,ThriftServerRunner.ResultScannerWrapper> scannerMap
           
 
Constructor Summary
protected ThriftServerRunner.HBaseHandler()
          Constructs an HBaseHandler object.
protected ThriftServerRunner.HBaseHandler(org.apache.hadoop.conf.Configuration c)
           
 
Method Summary
protected  int addScanner(ResultScanner scanner, boolean sortColumns)
          Assigns a unique ID to the scanner and adds the mapping to an internal hash-map.
protected  long atomicIncrement(ByteBuffer tableName, ByteBuffer row, byte[] family, byte[] qualifier, long amount)
           
 long atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long amount)
          Deprecated. 
 void compact(ByteBuffer tableNameOrRegionName)
           
 void createTable(ByteBuffer in_tableName, List<ColumnDescriptor> columnFamilies)
          Create a table with the specified column families.
 void deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes)
          Delete all cells that match the passed row and column.
 void deleteAllRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes)
          Completely delete the row's cells.
 void deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Completely delete the row's cells marked with a timestamp equal-to or older than the passed timestamp.
 void deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Delete all cells that match the passed row and column and whose timestamp is equal-to or older than the passed timestamp.
 void deleteTable(ByteBuffer in_tableName)
          Deletes a table
 void disableTable(ByteBuffer tableName)
          Disables a table (takes it off-line) If it is being served, the master will tell the servers to stop serving it.
 void enableTable(ByteBuffer tableName)
          Brings a table on-line (enables it)
protected  List<TCell> get(ByteBuffer tableName, ByteBuffer row, byte[] family, byte[] qualifier, Map<ByteBuffer,ByteBuffer> attributes)
           
 List<TCell> get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes)
          Deprecated. 
 Map<ByteBuffer,ColumnDescriptor> getColumnDescriptors(ByteBuffer tableName)
          List all the column families assoicated with a table.
 TRegionInfo getRegionInfo(ByteBuffer searchRow)
          Get the regininfo for the specified row.
 List<TRowResult> getRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes)
          Get all the data for the specified table and row at the latest timestamp.
 List<TCell> getRowOrBefore(ByteBuffer tableName, ByteBuffer row, ByteBuffer family)
          Get the row just before the specified one.
 List<TRowResult> getRows(ByteBuffer tableName, List<ByteBuffer> rows, Map<ByteBuffer,ByteBuffer> attributes)
          Get all the data for the specified table and rows at the latest timestamp.
 List<TRowResult> getRowsTs(ByteBuffer tableName, List<ByteBuffer> rows, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Get all the data for the specified table and rows at the specified timestamp.
 List<TRowResult> getRowsWithColumns(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes)
          Get the specified columns for the specified table and rows at the latest timestamp.
 List<TRowResult> getRowsWithColumnsTs(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Get the specified columns for the specified table and rows at the specified timestamp.
 List<TRowResult> getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Get all the data for the specified table and row at the specified timestamp.
 List<TRowResult> getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes)
          Get the specified columns for the specified table and row at the latest timestamp.
 List<TRowResult> getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Get the specified columns for the specified table and row at the specified timestamp.
protected  ThriftServerRunner.ResultScannerWrapper getScanner(int id)
          Returns the scanner associated with the specified ID.
 HTable getTable(byte[] tableName)
          Creates and returns an HTable instance from a given table name.
 HTable getTable(ByteBuffer tableName)
           
 List<ByteBuffer> getTableNames()
          List all the userspace tables.
 List<TRegionInfo> getTableRegions(ByteBuffer tableName)
          List the regions associated with a table.
 List<TCell> getVer(ByteBuffer tableName, ByteBuffer row, byte[] family, byte[] qualifier, int numVersions, Map<ByteBuffer,ByteBuffer> attributes)
           
 List<TCell> getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions, Map<ByteBuffer,ByteBuffer> attributes)
          Deprecated. 
protected  List<TCell> getVerTs(ByteBuffer tableName, ByteBuffer row, byte[] family, byte[] qualifier, long timestamp, int numVersions, Map<ByteBuffer,ByteBuffer> attributes)
           
 List<TCell> getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions, Map<ByteBuffer,ByteBuffer> attributes)
          Deprecated. 
 void increment(TIncrement tincrement)
          Increment a cell by the ammount.
 void incrementRows(List<TIncrement> tincrements)
           
 boolean isTableEnabled(ByteBuffer tableName)
           
 void majorCompact(ByteBuffer tableNameOrRegionName)
           
 void mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, Map<ByteBuffer,ByteBuffer> attributes)
          Apply a series of mutations (updates/deletes) to a row in a single transaction.
 void mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches, Map<ByteBuffer,ByteBuffer> attributes)
          Apply a series of batches (each a series of mutations on a single row) in a single transaction.
 void mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Apply a series of batches (each a series of mutations on a single row) in a single transaction.
 void mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Apply a series of mutations (updates/deletes) to a row in a single transaction.
protected  ThriftServerRunner.ResultScannerWrapper removeScanner(int id)
          Removes the scanner associated with the specified ID from the internal id->scanner hash-map.
 void scannerClose(int id)
          Closes the server-state associated with an open scanner.
 List<TRowResult> scannerGet(int id)
          Returns the scanner's current row value and advances to the next row in the table.
 List<TRowResult> scannerGetList(int id, int nbRows)
          Returns, starting at the scanner's current row value nbRows worth of rows and advances to the next row in the table.
 int scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes)
          Get a scanner on the current table starting at the specified row and ending at the last row in the table.
 int scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Get a scanner on the current table starting at the specified row and ending at the last row in the table.
 int scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes)
          Open a scanner for a given prefix.
 int scannerOpenWithScan(ByteBuffer tableName, TScan tScan, Map<ByteBuffer,ByteBuffer> attributes)
          Get a scanner on the current table, using the Scan instance for the scan parameters.
 int scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes)
          Get a scanner on the current table starting and stopping at the specified rows.
 int scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes)
          Get a scanner on the current table starting and stopping at the specified rows.
static byte[] toBytes(ByteBuffer bb)
          Convert ByteBuffer to byte array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

conf

protected org.apache.hadoop.conf.Configuration conf

admin

protected HBaseAdmin admin

LOG

protected final org.apache.commons.logging.Log LOG

nextScannerId

protected int nextScannerId

scannerMap

protected HashMap<Integer,ThriftServerRunner.ResultScannerWrapper> scannerMap
Constructor Detail

ThriftServerRunner.HBaseHandler

protected ThriftServerRunner.HBaseHandler()
                                   throws IOException
Constructs an HBaseHandler object.

Throws:
IOException

ThriftServerRunner.HBaseHandler

protected ThriftServerRunner.HBaseHandler(org.apache.hadoop.conf.Configuration c)
                                   throws IOException
Throws:
IOException
Method Detail

getTable

public HTable getTable(byte[] tableName)
                throws IOException
Creates and returns an HTable instance from a given table name.

Parameters:
tableName - name of table
Returns:
HTable object
Throws:
IOException
IOError

getTable

public HTable getTable(ByteBuffer tableName)
                throws IOException
Throws:
IOException

addScanner

protected int addScanner(ResultScanner scanner,
                         boolean sortColumns)
Assigns a unique ID to the scanner and adds the mapping to an internal hash-map.

Parameters:
scanner -
Returns:
integer scanner id

getScanner

protected ThriftServerRunner.ResultScannerWrapper getScanner(int id)
Returns the scanner associated with the specified ID.

Parameters:
id -
Returns:
a Scanner, or null if ID was invalid.

removeScanner

protected ThriftServerRunner.ResultScannerWrapper removeScanner(int id)
Removes the scanner associated with the specified ID from the internal id->scanner hash-map.

Parameters:
id -
Returns:
a Scanner, or null if ID was invalid.

enableTable

public void enableTable(ByteBuffer tableName)
                 throws IOError
Description copied from interface: Hbase.Iface
Brings a table on-line (enables it)

Specified by:
enableTable in interface Hbase.Iface
Parameters:
tableName - name of the table
Throws:
IOError

disableTable

public void disableTable(ByteBuffer tableName)
                  throws IOError
Description copied from interface: Hbase.Iface
Disables a table (takes it off-line) If it is being served, the master will tell the servers to stop serving it.

Specified by:
disableTable in interface Hbase.Iface
Parameters:
tableName - name of the table
Throws:
IOError

isTableEnabled

public boolean isTableEnabled(ByteBuffer tableName)
                       throws IOError
Specified by:
isTableEnabled in interface Hbase.Iface
Parameters:
tableName - name of the table to check
Returns:
true if table is on-line
Throws:
IOError

compact

public void compact(ByteBuffer tableNameOrRegionName)
             throws IOError
Specified by:
compact in interface Hbase.Iface
Throws:
IOError

majorCompact

public void majorCompact(ByteBuffer tableNameOrRegionName)
                  throws IOError
Specified by:
majorCompact in interface Hbase.Iface
Throws:
IOError

getTableNames

public List<ByteBuffer> getTableNames()
                               throws IOError
Description copied from interface: Hbase.Iface
List all the userspace tables.

Specified by:
getTableNames in interface Hbase.Iface
Returns:
returns a list of names
Throws:
IOError

getTableRegions

public List<TRegionInfo> getTableRegions(ByteBuffer tableName)
                                  throws IOError
Description copied from interface: Hbase.Iface
List the regions associated with a table.

Specified by:
getTableRegions in interface Hbase.Iface
Parameters:
tableName - table name
Returns:
list of region descriptors
Throws:
IOError

toBytes

public static byte[] toBytes(ByteBuffer bb)
Convert ByteBuffer to byte array. Note that this cannot be replaced by Bytes.toBytes().


get

@Deprecated
public List<TCell> get(ByteBuffer tableName,
                                  ByteBuffer row,
                                  ByteBuffer column,
                                  Map<ByteBuffer,ByteBuffer> attributes)
                throws IOError
Deprecated. 

Description copied from interface: Hbase.Iface
Get a single TCell for the specified table, row, and column at the latest timestamp. Returns an empty list if no such value exists.

Specified by:
get in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
column - column name
attributes - Get attributes
Returns:
value for specified row/column
Throws:
IOError

get

protected List<TCell> get(ByteBuffer tableName,
                          ByteBuffer row,
                          byte[] family,
                          byte[] qualifier,
                          Map<ByteBuffer,ByteBuffer> attributes)
                   throws IOError
Throws:
IOError

getVer

@Deprecated
public List<TCell> getVer(ByteBuffer tableName,
                                     ByteBuffer row,
                                     ByteBuffer column,
                                     int numVersions,
                                     Map<ByteBuffer,ByteBuffer> attributes)
                   throws IOError
Deprecated. 

Description copied from interface: Hbase.Iface
Get the specified number of versions for the specified table, row, and column.

Specified by:
getVer in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
column - column name
numVersions - number of versions to retrieve
attributes - Get attributes
Returns:
list of cells for specified row/column
Throws:
IOError

getVer

public List<TCell> getVer(ByteBuffer tableName,
                          ByteBuffer row,
                          byte[] family,
                          byte[] qualifier,
                          int numVersions,
                          Map<ByteBuffer,ByteBuffer> attributes)
                   throws IOError
Throws:
IOError

getVerTs

@Deprecated
public List<TCell> getVerTs(ByteBuffer tableName,
                                       ByteBuffer row,
                                       ByteBuffer column,
                                       long timestamp,
                                       int numVersions,
                                       Map<ByteBuffer,ByteBuffer> attributes)
                     throws IOError
Deprecated. 

Description copied from interface: Hbase.Iface
Get the specified number of versions for the specified table, row, and column. Only versions less than or equal to the specified timestamp will be returned.

Specified by:
getVerTs in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
column - column name
timestamp - timestamp
numVersions - number of versions to retrieve
attributes - Get attributes
Returns:
list of cells for specified row/column
Throws:
IOError

getVerTs

protected List<TCell> getVerTs(ByteBuffer tableName,
                               ByteBuffer row,
                               byte[] family,
                               byte[] qualifier,
                               long timestamp,
                               int numVersions,
                               Map<ByteBuffer,ByteBuffer> attributes)
                        throws IOError
Throws:
IOError

getRow

public List<TRowResult> getRow(ByteBuffer tableName,
                               ByteBuffer row,
                               Map<ByteBuffer,ByteBuffer> attributes)
                        throws IOError
Description copied from interface: Hbase.Iface
Get all the data for the specified table and row at the latest timestamp. Returns an empty list if the row does not exist.

Specified by:
getRow in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
attributes - Get attributes
Returns:
TRowResult containing the row and map of columns to TCells
Throws:
IOError

getRowWithColumns

public List<TRowResult> getRowWithColumns(ByteBuffer tableName,
                                          ByteBuffer row,
                                          List<ByteBuffer> columns,
                                          Map<ByteBuffer,ByteBuffer> attributes)
                                   throws IOError
Description copied from interface: Hbase.Iface
Get the specified columns for the specified table and row at the latest timestamp. Returns an empty list if the row does not exist.

Specified by:
getRowWithColumns in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
columns - List of columns to return, null for all columns
attributes - Get attributes
Returns:
TRowResult containing the row and map of columns to TCells
Throws:
IOError

getRowTs

public List<TRowResult> getRowTs(ByteBuffer tableName,
                                 ByteBuffer row,
                                 long timestamp,
                                 Map<ByteBuffer,ByteBuffer> attributes)
                          throws IOError
Description copied from interface: Hbase.Iface
Get all the data for the specified table and row at the specified timestamp. Returns an empty list if the row does not exist.

Specified by:
getRowTs in interface Hbase.Iface
Parameters:
tableName - name of the table
row - row key
timestamp - timestamp
attributes - Get attributes
Returns:
TRowResult containing the row and map of columns to TCells
Throws:
IOError

getRowWithColumnsTs

public List<TRowResult> getRowWithColumnsTs(ByteBuffer tableName,
                                            ByteBuffer row,
                                            List<ByteBuffer> columns,
                                            long timestamp,
                                            Map<ByteBuffer,ByteBuffer> attributes)
                                     throws IOError
Description copied from interface: Hbase.Iface
Get the specified columns for the specified table and row at the specified timestamp. Returns an empty list if the row does not exist.

Specified by:
getRowWithColumnsTs in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
columns - List of columns to return, null for all columns
attributes - Get attributes
Returns:
TRowResult containing the row and map of columns to TCells
Throws:
IOError

getRows

public List<TRowResult> getRows(ByteBuffer tableName,
                                List<ByteBuffer> rows,
                                Map<ByteBuffer,ByteBuffer> attributes)
                         throws IOError
Description copied from interface: Hbase.Iface
Get all the data for the specified table and rows at the latest timestamp. Returns an empty list if no rows exist.

Specified by:
getRows in interface Hbase.Iface
Parameters:
tableName - name of table
rows - row keys
attributes - Get attributes
Returns:
TRowResult containing the rows and map of columns to TCells
Throws:
IOError

getRowsWithColumns

public List<TRowResult> getRowsWithColumns(ByteBuffer tableName,
                                           List<ByteBuffer> rows,
                                           List<ByteBuffer> columns,
                                           Map<ByteBuffer,ByteBuffer> attributes)
                                    throws IOError
Description copied from interface: Hbase.Iface
Get the specified columns for the specified table and rows at the latest timestamp. Returns an empty list if no rows exist.

Specified by:
getRowsWithColumns in interface Hbase.Iface
Parameters:
tableName - name of table
rows - row keys
columns - List of columns to return, null for all columns
attributes - Get attributes
Returns:
TRowResult containing the rows and map of columns to TCells
Throws:
IOError

getRowsTs

public List<TRowResult> getRowsTs(ByteBuffer tableName,
                                  List<ByteBuffer> rows,
                                  long timestamp,
                                  Map<ByteBuffer,ByteBuffer> attributes)
                           throws IOError
Description copied from interface: Hbase.Iface
Get all the data for the specified table and rows at the specified timestamp. Returns an empty list if no rows exist.

Specified by:
getRowsTs in interface Hbase.Iface
Parameters:
tableName - name of the table
rows - row keys
timestamp - timestamp
attributes - Get attributes
Returns:
TRowResult containing the rows and map of columns to TCells
Throws:
IOError

getRowsWithColumnsTs

public List<TRowResult> getRowsWithColumnsTs(ByteBuffer tableName,
                                             List<ByteBuffer> rows,
                                             List<ByteBuffer> columns,
                                             long timestamp,
                                             Map<ByteBuffer,ByteBuffer> attributes)
                                      throws IOError
Description copied from interface: Hbase.Iface
Get the specified columns for the specified table and rows at the specified timestamp. Returns an empty list if no rows exist.

Specified by:
getRowsWithColumnsTs in interface Hbase.Iface
Parameters:
tableName - name of table
rows - row keys
columns - List of columns to return, null for all columns
attributes - Get attributes
Returns:
TRowResult containing the rows and map of columns to TCells
Throws:
IOError

deleteAll

public void deleteAll(ByteBuffer tableName,
                      ByteBuffer row,
                      ByteBuffer column,
                      Map<ByteBuffer,ByteBuffer> attributes)
               throws IOError
Description copied from interface: Hbase.Iface
Delete all cells that match the passed row and column.

Specified by:
deleteAll in interface Hbase.Iface
Parameters:
tableName - name of table
row - Row to update
column - name of column whose value is to be deleted
attributes - Delete attributes
Throws:
IOError

deleteAllTs

public void deleteAllTs(ByteBuffer tableName,
                        ByteBuffer row,
                        ByteBuffer column,
                        long timestamp,
                        Map<ByteBuffer,ByteBuffer> attributes)
                 throws IOError
Description copied from interface: Hbase.Iface
Delete all cells that match the passed row and column and whose timestamp is equal-to or older than the passed timestamp.

Specified by:
deleteAllTs in interface Hbase.Iface
Parameters:
tableName - name of table
row - Row to update
column - name of column whose value is to be deleted
timestamp - timestamp
attributes - Delete attributes
Throws:
IOError

deleteAllRow

public void deleteAllRow(ByteBuffer tableName,
                         ByteBuffer row,
                         Map<ByteBuffer,ByteBuffer> attributes)
                  throws IOError
Description copied from interface: Hbase.Iface
Completely delete the row's cells.

Specified by:
deleteAllRow in interface Hbase.Iface
Parameters:
tableName - name of table
row - key of the row to be completely deleted.
attributes - Delete attributes
Throws:
IOError

deleteAllRowTs

public void deleteAllRowTs(ByteBuffer tableName,
                           ByteBuffer row,
                           long timestamp,
                           Map<ByteBuffer,ByteBuffer> attributes)
                    throws IOError
Description copied from interface: Hbase.Iface
Completely delete the row's cells marked with a timestamp equal-to or older than the passed timestamp.

Specified by:
deleteAllRowTs in interface Hbase.Iface
Parameters:
tableName - name of table
row - key of the row to be completely deleted.
timestamp - timestamp
attributes - Delete attributes
Throws:
IOError

createTable

public void createTable(ByteBuffer in_tableName,
                        List<ColumnDescriptor> columnFamilies)
                 throws IOError,
                        IllegalArgument,
                        AlreadyExists
Description copied from interface: Hbase.Iface
Create a table with the specified column families. The name field for each ColumnDescriptor must be set and must end in a colon (:). All other fields are optional and will get default values if not explicitly specified.

Specified by:
createTable in interface Hbase.Iface
Parameters:
in_tableName - name of table to create
columnFamilies - list of column family descriptors
Throws:
IllegalArgument - if an input parameter is invalid
AlreadyExists - if the table name already exists
IOError

deleteTable

public void deleteTable(ByteBuffer in_tableName)
                 throws IOError
Description copied from interface: Hbase.Iface
Deletes a table

Specified by:
deleteTable in interface Hbase.Iface
Parameters:
in_tableName - name of table to delete
Throws:
IOError - if table doesn't exist on server or there was some other problem

mutateRow

public void mutateRow(ByteBuffer tableName,
                      ByteBuffer row,
                      List<Mutation> mutations,
                      Map<ByteBuffer,ByteBuffer> attributes)
               throws IOError,
                      IllegalArgument
Description copied from interface: Hbase.Iface
Apply a series of mutations (updates/deletes) to a row in a single transaction. If an exception is thrown, then the transaction is aborted. Default current timestamp is used, and all entries will have an identical timestamp.

Specified by:
mutateRow in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
mutations - list of mutation commands
attributes - Mutation attributes
Throws:
IOError
IllegalArgument

mutateRowTs

public void mutateRowTs(ByteBuffer tableName,
                        ByteBuffer row,
                        List<Mutation> mutations,
                        long timestamp,
                        Map<ByteBuffer,ByteBuffer> attributes)
                 throws IOError,
                        IllegalArgument
Description copied from interface: Hbase.Iface
Apply a series of mutations (updates/deletes) to a row in a single transaction. If an exception is thrown, then the transaction is aborted. The specified timestamp is used, and all entries will have an identical timestamp.

Specified by:
mutateRowTs in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
mutations - list of mutation commands
timestamp - timestamp
attributes - Mutation attributes
Throws:
IOError
IllegalArgument

mutateRows

public void mutateRows(ByteBuffer tableName,
                       List<BatchMutation> rowBatches,
                       Map<ByteBuffer,ByteBuffer> attributes)
                throws IOError,
                       IllegalArgument,
                       org.apache.thrift.TException
Description copied from interface: Hbase.Iface
Apply a series of batches (each a series of mutations on a single row) in a single transaction. If an exception is thrown, then the transaction is aborted. Default current timestamp is used, and all entries will have an identical timestamp.

Specified by:
mutateRows in interface Hbase.Iface
Parameters:
tableName - name of table
rowBatches - list of row batches
attributes - Mutation attributes
Throws:
IOError
IllegalArgument
org.apache.thrift.TException

mutateRowsTs

public void mutateRowsTs(ByteBuffer tableName,
                         List<BatchMutation> rowBatches,
                         long timestamp,
                         Map<ByteBuffer,ByteBuffer> attributes)
                  throws IOError,
                         IllegalArgument,
                         org.apache.thrift.TException
Description copied from interface: Hbase.Iface
Apply a series of batches (each a series of mutations on a single row) in a single transaction. If an exception is thrown, then the transaction is aborted. The specified timestamp is used, and all entries will have an identical timestamp.

Specified by:
mutateRowsTs in interface Hbase.Iface
Parameters:
tableName - name of table
rowBatches - list of row batches
timestamp - timestamp
attributes - Mutation attributes
Throws:
IOError
IllegalArgument
org.apache.thrift.TException

atomicIncrement

@Deprecated
public long atomicIncrement(ByteBuffer tableName,
                                       ByteBuffer row,
                                       ByteBuffer column,
                                       long amount)
                     throws IOError,
                            IllegalArgument,
                            org.apache.thrift.TException
Deprecated. 

Description copied from interface: Hbase.Iface
Atomically increment the column value specified. Returns the next value post increment.

Specified by:
atomicIncrement in interface Hbase.Iface
Parameters:
tableName - name of table
row - row to increment
column - name of column
amount - amount to increment by
Throws:
IOError
IllegalArgument
org.apache.thrift.TException

atomicIncrement

protected long atomicIncrement(ByteBuffer tableName,
                               ByteBuffer row,
                               byte[] family,
                               byte[] qualifier,
                               long amount)
                        throws IOError,
                               IllegalArgument,
                               org.apache.thrift.TException
Throws:
IOError
IllegalArgument
org.apache.thrift.TException

scannerClose

public void scannerClose(int id)
                  throws IOError,
                         IllegalArgument
Description copied from interface: Hbase.Iface
Closes the server-state associated with an open scanner.

Specified by:
scannerClose in interface Hbase.Iface
Parameters:
id - id of a scanner returned by scannerOpen
Throws:
IllegalArgument - if ScannerID is invalid
IOError

scannerGetList

public List<TRowResult> scannerGetList(int id,
                                       int nbRows)
                                throws IllegalArgument,
                                       IOError
Description copied from interface: Hbase.Iface
Returns, starting at the scanner's current row value nbRows worth of rows and advances to the next row in the table. When there are no more rows in the table, or a key greater-than-or-equal-to the scanner's specified stopRow is reached, an empty list is returned.

Specified by:
scannerGetList in interface Hbase.Iface
Parameters:
id - id of a scanner returned by scannerOpen
nbRows - number of results to return
Returns:
a TRowResult containing the current row and a map of the columns to TCells.
Throws:
IllegalArgument - if ScannerID is invalid
IOError

scannerGet

public List<TRowResult> scannerGet(int id)
                            throws IllegalArgument,
                                   IOError
Description copied from interface: Hbase.Iface
Returns the scanner's current row value and advances to the next row in the table. When there are no more rows in the table, or a key greater-than-or-equal-to the scanner's specified stopRow is reached, an empty list is returned.

Specified by:
scannerGet in interface Hbase.Iface
Parameters:
id - id of a scanner returned by scannerOpen
Returns:
a TRowResult containing the current row and a map of the columns to TCells.
Throws:
IllegalArgument - if ScannerID is invalid
IOError

scannerOpenWithScan

public int scannerOpenWithScan(ByteBuffer tableName,
                               TScan tScan,
                               Map<ByteBuffer,ByteBuffer> attributes)
                        throws IOError
Description copied from interface: Hbase.Iface
Get a scanner on the current table, using the Scan instance for the scan parameters.

Specified by:
scannerOpenWithScan in interface Hbase.Iface
Parameters:
tableName - name of table
tScan - Scan instance
attributes - Scan attributes
Throws:
IOError

scannerOpen

public int scannerOpen(ByteBuffer tableName,
                       ByteBuffer startRow,
                       List<ByteBuffer> columns,
                       Map<ByteBuffer,ByteBuffer> attributes)
                throws IOError
Description copied from interface: Hbase.Iface
Get a scanner on the current table starting at the specified row and ending at the last row in the table. Return the specified columns.

Specified by:
scannerOpen in interface Hbase.Iface
Parameters:
tableName - name of table
startRow - Starting row in table to scan. Send "" (empty string) to start at the first row.
columns - columns to scan. If column name is a column family, all columns of the specified column family are returned. It's also possible to pass a regex in the column qualifier.
attributes - Scan attributes
Returns:
scanner id to be used with other scanner procedures
Throws:
IOError

scannerOpenWithStop

public int scannerOpenWithStop(ByteBuffer tableName,
                               ByteBuffer startRow,
                               ByteBuffer stopRow,
                               List<ByteBuffer> columns,
                               Map<ByteBuffer,ByteBuffer> attributes)
                        throws IOError,
                               org.apache.thrift.TException
Description copied from interface: Hbase.Iface
Get a scanner on the current table starting and stopping at the specified rows. ending at the last row in the table. Return the specified columns.

Specified by:
scannerOpenWithStop in interface Hbase.Iface
Parameters:
tableName - name of table
startRow - Starting row in table to scan. Send "" (empty string) to start at the first row.
stopRow - row to stop scanning on. This row is *not* included in the scanner's results
columns - columns to scan. If column name is a column family, all columns of the specified column family are returned. It's also possible to pass a regex in the column qualifier.
attributes - Scan attributes
Returns:
scanner id to be used with other scanner procedures
Throws:
IOError
org.apache.thrift.TException

scannerOpenWithPrefix

public int scannerOpenWithPrefix(ByteBuffer tableName,
                                 ByteBuffer startAndPrefix,
                                 List<ByteBuffer> columns,
                                 Map<ByteBuffer,ByteBuffer> attributes)
                          throws IOError,
                                 org.apache.thrift.TException
Description copied from interface: Hbase.Iface
Open a scanner for a given prefix. That is all rows will have the specified prefix. No other rows will be returned.

Specified by:
scannerOpenWithPrefix in interface Hbase.Iface
Parameters:
tableName - name of table
startAndPrefix - the prefix (and thus start row) of the keys you want
columns - the columns you want returned
attributes - Scan attributes
Returns:
scanner id to use with other scanner calls
Throws:
IOError
org.apache.thrift.TException

scannerOpenTs

public int scannerOpenTs(ByteBuffer tableName,
                         ByteBuffer startRow,
                         List<ByteBuffer> columns,
                         long timestamp,
                         Map<ByteBuffer,ByteBuffer> attributes)
                  throws IOError,
                         org.apache.thrift.TException
Description copied from interface: Hbase.Iface
Get a scanner on the current table starting at the specified row and ending at the last row in the table. Return the specified columns. Only values with the specified timestamp are returned.

Specified by:
scannerOpenTs in interface Hbase.Iface
Parameters:
tableName - name of table
startRow - Starting row in table to scan. Send "" (empty string) to start at the first row.
columns - columns to scan. If column name is a column family, all columns of the specified column family are returned. It's also possible to pass a regex in the column qualifier.
timestamp - timestamp
attributes - Scan attributes
Returns:
scanner id to be used with other scanner procedures
Throws:
IOError
org.apache.thrift.TException

scannerOpenWithStopTs

public int scannerOpenWithStopTs(ByteBuffer tableName,
                                 ByteBuffer startRow,
                                 ByteBuffer stopRow,
                                 List<ByteBuffer> columns,
                                 long timestamp,
                                 Map<ByteBuffer,ByteBuffer> attributes)
                          throws IOError,
                                 org.apache.thrift.TException
Description copied from interface: Hbase.Iface
Get a scanner on the current table starting and stopping at the specified rows. ending at the last row in the table. Return the specified columns. Only values with the specified timestamp are returned.

Specified by:
scannerOpenWithStopTs in interface Hbase.Iface
Parameters:
tableName - name of table
startRow - Starting row in table to scan. Send "" (empty string) to start at the first row.
stopRow - row to stop scanning on. This row is *not* included in the scanner's results
columns - columns to scan. If column name is a column family, all columns of the specified column family are returned. It's also possible to pass a regex in the column qualifier.
timestamp - timestamp
attributes - Scan attributes
Returns:
scanner id to be used with other scanner procedures
Throws:
IOError
org.apache.thrift.TException

getColumnDescriptors

public Map<ByteBuffer,ColumnDescriptor> getColumnDescriptors(ByteBuffer tableName)
                                                      throws IOError,
                                                             org.apache.thrift.TException
Description copied from interface: Hbase.Iface
List all the column families assoicated with a table.

Specified by:
getColumnDescriptors in interface Hbase.Iface
Parameters:
tableName - table name
Returns:
list of column family descriptors
Throws:
IOError
org.apache.thrift.TException

getRowOrBefore

public List<TCell> getRowOrBefore(ByteBuffer tableName,
                                  ByteBuffer row,
                                  ByteBuffer family)
                           throws IOError
Description copied from interface: Hbase.Iface
Get the row just before the specified one.

Specified by:
getRowOrBefore in interface Hbase.Iface
Parameters:
tableName - name of table
row - row key
family - column name
Returns:
value for specified row/column
Throws:
IOError

getRegionInfo

public TRegionInfo getRegionInfo(ByteBuffer searchRow)
                          throws IOError
Description copied from interface: Hbase.Iface
Get the regininfo for the specified row. It scans the metatable to find region's start and end keys.

Specified by:
getRegionInfo in interface Hbase.Iface
Parameters:
searchRow - row key
Returns:
value for specified row/column
Throws:
IOError

increment

public void increment(TIncrement tincrement)
               throws IOError,
                      org.apache.thrift.TException
Description copied from interface: Hbase.Iface
Increment a cell by the ammount. Increments can be applied async if hbase.regionserver.thrift.coalesceIncrement is set to true. False is the default. Turn to true if you need the extra performance and can accept some data loss if a thrift server dies with increments still in the queue.

Specified by:
increment in interface Hbase.Iface
Parameters:
tincrement - The single increment to apply
Throws:
IOError
org.apache.thrift.TException

incrementRows

public void incrementRows(List<TIncrement> tincrements)
                   throws IOError,
                          org.apache.thrift.TException
Specified by:
incrementRows in interface Hbase.Iface
Throws:
IOError
org.apache.thrift.TException


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