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

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

public static class ThriftServer.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,ResultScanner> scannerMap
           
 
Method Summary
protected  int addScanner(ResultScanner scanner)
          Assigns a unique ID to the scanner and adds the mapping to an internal hash-map.
 long atomicIncrement(byte[] tableName, byte[] row, byte[] family, byte[] qualifier, long amount)
           
 long atomicIncrement(byte[] tableName, byte[] row, byte[] column, long amount)
          Deprecated. 
 void compact(byte[] tableNameOrRegionName)
           
 void createTable(byte[] tableName, List<ColumnDescriptor> columnFamilies)
          Create a table with the specified column families.
 void deleteAll(byte[] tableName, byte[] row, byte[] column)
          Delete all cells that match the passed row and column.
 void deleteAllRow(byte[] tableName, byte[] row)
          Completely delete the row's cells.
 void deleteAllRowTs(byte[] tableName, byte[] row, long timestamp)
          Completely delete the row's cells marked with a timestamp equal-to or older than the passed timestamp.
 void deleteAllTs(byte[] tableName, byte[] row, byte[] column, long timestamp)
          Delete all cells that match the passed row and column and whose timestamp is equal-to or older than the passed timestamp.
 void deleteTable(byte[] tableName)
          Deletes a table
 void disableTable(byte[] 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(byte[] tableName)
          Brings a table on-line (enables it)
 List<TCell> get(byte[] tableName, byte[] row, byte[] column)
          Deprecated. 
 List<TCell> get(byte[] tableName, byte[] row, byte[] family, byte[] qualifier)
           
 Map<byte[],ColumnDescriptor> getColumnDescriptors(byte[] tableName)
          List all the column families assoicated with a table.
 List<TRowResult> getRow(byte[] tableName, byte[] row)
          Get all the data for the specified table and row at the latest timestamp.
 List<TRowResult> getRows(byte[] tableName, List<byte[]> rows)
          Get all the data for the specified table and rows at the latest timestamp.
 List<TRowResult> getRowsTs(byte[] tableName, List<byte[]> rows, long timestamp)
          Get all the data for the specified table and rows at the specified timestamp.
 List<TRowResult> getRowsWithColumns(byte[] tableName, List<byte[]> rows, List<byte[]> columns)
          Get the specified columns for the specified table and rows at the latest timestamp.
 List<TRowResult> getRowsWithColumnsTs(byte[] tableName, List<byte[]> rows, List<byte[]> columns, long timestamp)
          Get the specified columns for the specified table and rows at the specified timestamp.
 List<TRowResult> getRowTs(byte[] tableName, byte[] row, long timestamp)
          Get all the data for the specified table and row at the specified timestamp.
 List<TRowResult> getRowWithColumns(byte[] tableName, byte[] row, List<byte[]> columns)
          Get the specified columns for the specified table and row at the latest timestamp.
 List<TRowResult> getRowWithColumnsTs(byte[] tableName, byte[] row, List<byte[]> columns, long timestamp)
          Get the specified columns for the specified table and row at the specified timestamp.
protected  ResultScanner getScanner(int id)
          Returns the scanner associated with the specified ID.
protected  HTable getTable(byte[] tableName)
          Creates and returns an HTable instance from a given table name.
 List<byte[]> getTableNames()
          List all the userspace tables.
 List<TRegionInfo> getTableRegions(byte[] tableName)
          List the regions associated with a table.
 List<TCell> getVer(byte[] tableName, byte[] row, byte[] family, byte[] qualifier, int numVersions)
           
 List<TCell> getVer(byte[] tableName, byte[] row, byte[] column, int numVersions)
          Deprecated. 
 List<TCell> getVerTs(byte[] tableName, byte[] row, byte[] family, byte[] qualifier, long timestamp, int numVersions)
           
 List<TCell> getVerTs(byte[] tableName, byte[] row, byte[] column, long timestamp, int numVersions)
          Deprecated. 
 boolean isTableEnabled(byte[] tableName)
           
 void majorCompact(byte[] tableNameOrRegionName)
           
 void mutateRow(byte[] tableName, byte[] row, List<Mutation> mutations)
          Apply a series of mutations (updates/deletes) to a row in a single transaction.
 void mutateRows(byte[] tableName, List<BatchMutation> rowBatches)
          Apply a series of batches (each a series of mutations on a single row) in a single transaction.
 void mutateRowsTs(byte[] tableName, List<BatchMutation> rowBatches, long timestamp)
          Apply a series of batches (each a series of mutations on a single row) in a single transaction.
 void mutateRowTs(byte[] tableName, byte[] row, List<Mutation> mutations, long timestamp)
          Apply a series of mutations (updates/deletes) to a row in a single transaction.
protected  ResultScanner 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(byte[] tableName, byte[] startRow, List<byte[]> columns)
          Get a scanner on the current table starting at the specified row and ending at the last row in the table.
 int scannerOpenTs(byte[] tableName, byte[] startRow, List<byte[]> columns, long timestamp)
          Get a scanner on the current table starting at the specified row and ending at the last row in the table.
 int scannerOpenWithPrefix(byte[] tableName, byte[] startAndPrefix, List<byte[]> columns)
          Open a scanner for a given prefix.
 int scannerOpenWithStop(byte[] tableName, byte[] startRow, byte[] stopRow, List<byte[]> columns)
          Get a scanner on the current table starting and stopping at the specified rows.
 int scannerOpenWithStopTs(byte[] tableName, byte[] startRow, byte[] stopRow, List<byte[]> columns, long timestamp)
          Get a scanner on the current table starting and stopping at the specified rows.
 
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,ResultScanner> scannerMap
Method Detail

getTable

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

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

addScanner

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

Parameters:
scanner -
Returns:
integer scanner id

getScanner

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

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

removeScanner

protected ResultScanner 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(byte[] 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(byte[] 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(byte[] 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(byte[] tableNameOrRegionName)
             throws IOError
Specified by:
compact in interface Hbase.Iface
Throws:
IOError

majorCompact

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

getTableNames

public List<byte[]> 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(byte[] 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

get

@Deprecated
public List<TCell> get(byte[] tableName,
                                  byte[] row,
                                  byte[] column)
                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
Returns:
value for specified row/column
Throws:
IOError

get

public List<TCell> get(byte[] tableName,
                       byte[] row,
                       byte[] family,
                       byte[] qualifier)
                throws IOError
Throws:
IOError

getVer

@Deprecated
public List<TCell> getVer(byte[] tableName,
                                     byte[] row,
                                     byte[] column,
                                     int numVersions)
                   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
Returns:
list of cells for specified row/column
Throws:
IOError

getVer

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

getVerTs

@Deprecated
public List<TCell> getVerTs(byte[] tableName,
                                       byte[] row,
                                       byte[] column,
                                       long timestamp,
                                       int numVersions)
                     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
Returns:
list of cells for specified row/column
Throws:
IOError

getVerTs

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

getRow

public List<TRowResult> getRow(byte[] tableName,
                               byte[] row)
                        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
Returns:
TRowResult containing the row and map of columns to TCells
Throws:
IOError

getRowWithColumns

public List<TRowResult> getRowWithColumns(byte[] tableName,
                                          byte[] row,
                                          List<byte[]> columns)
                                   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
Returns:
TRowResult containing the row and map of columns to TCells
Throws:
IOError

getRowTs

public List<TRowResult> getRowTs(byte[] tableName,
                                 byte[] row,
                                 long timestamp)
                          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
Returns:
TRowResult containing the row and map of columns to TCells
Throws:
IOError

getRowWithColumnsTs

public List<TRowResult> getRowWithColumnsTs(byte[] tableName,
                                            byte[] row,
                                            List<byte[]> columns,
                                            long timestamp)
                                     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
Returns:
TRowResult containing the row and map of columns to TCells
Throws:
IOError

getRows

public List<TRowResult> getRows(byte[] tableName,
                                List<byte[]> rows)
                         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
Returns:
TRowResult containing the rows and map of columns to TCells
Throws:
IOError

getRowsWithColumns

public List<TRowResult> getRowsWithColumns(byte[] tableName,
                                           List<byte[]> rows,
                                           List<byte[]> columns)
                                    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
Returns:
TRowResult containing the rows and map of columns to TCells
Throws:
IOError

getRowsTs

public List<TRowResult> getRowsTs(byte[] tableName,
                                  List<byte[]> rows,
                                  long timestamp)
                           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
Returns:
TRowResult containing the rows and map of columns to TCells
Throws:
IOError

getRowsWithColumnsTs

public List<TRowResult> getRowsWithColumnsTs(byte[] tableName,
                                             List<byte[]> rows,
                                             List<byte[]> columns,
                                             long timestamp)
                                      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
Returns:
TRowResult containing the rows and map of columns to TCells
Throws:
IOError

deleteAll

public void deleteAll(byte[] tableName,
                      byte[] row,
                      byte[] column)
               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
Throws:
IOError

deleteAllTs

public void deleteAllTs(byte[] tableName,
                        byte[] row,
                        byte[] column,
                        long timestamp)
                 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
Throws:
IOError

deleteAllRow

public void deleteAllRow(byte[] tableName,
                         byte[] row)
                  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.
Throws:
IOError

deleteAllRowTs

public void deleteAllRowTs(byte[] tableName,
                           byte[] row,
                           long timestamp)
                    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
Throws:
IOError

createTable

public void createTable(byte[] 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:
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(byte[] tableName)
                 throws IOError
Description copied from interface: Hbase.Iface
Deletes a table

Specified by:
deleteTable in interface Hbase.Iface
Parameters:
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(byte[] tableName,
                      byte[] row,
                      List<Mutation> mutations)
               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
Throws:
IOError
IllegalArgument

mutateRowTs

public void mutateRowTs(byte[] tableName,
                        byte[] row,
                        List<Mutation> mutations,
                        long timestamp)
                 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
Throws:
IOError
IllegalArgument

mutateRows

public void mutateRows(byte[] tableName,
                       List<BatchMutation> rowBatches)
                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
Throws:
IOError
IllegalArgument
org.apache.thrift.TException

mutateRowsTs

public void mutateRowsTs(byte[] tableName,
                         List<BatchMutation> rowBatches,
                         long timestamp)
                  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
Throws:
IOError
IllegalArgument
org.apache.thrift.TException

atomicIncrement

@Deprecated
public long atomicIncrement(byte[] tableName,
                                       byte[] row,
                                       byte[] 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

public long atomicIncrement(byte[] tableName,
                            byte[] 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

scannerOpen

public int scannerOpen(byte[] tableName,
                       byte[] startRow,
                       List<byte[]> columns)
                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.
Returns:
scanner id to be used with other scanner procedures
Throws:
IOError

scannerOpenWithStop

public int scannerOpenWithStop(byte[] tableName,
                               byte[] startRow,
                               byte[] stopRow,
                               List<byte[]> columns)
                        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.
Returns:
scanner id to be used with other scanner procedures
Throws:
IOError
org.apache.thrift.TException

scannerOpenWithPrefix

public int scannerOpenWithPrefix(byte[] tableName,
                                 byte[] startAndPrefix,
                                 List<byte[]> columns)
                          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
Returns:
scanner id to use with other scanner calls
Throws:
IOError
org.apache.thrift.TException

scannerOpenTs

public int scannerOpenTs(byte[] tableName,
                         byte[] startRow,
                         List<byte[]> columns,
                         long timestamp)
                  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
Returns:
scanner id to be used with other scanner procedures
Throws:
IOError
org.apache.thrift.TException

scannerOpenWithStopTs

public int scannerOpenWithStopTs(byte[] tableName,
                                 byte[] startRow,
                                 byte[] stopRow,
                                 List<byte[]> columns,
                                 long timestamp)
                          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
Returns:
scanner id to be used with other scanner procedures
Throws:
IOError
org.apache.thrift.TException

getColumnDescriptors

public Map<byte[],ColumnDescriptor> getColumnDescriptors(byte[] 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


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