Thrift module: Hbase
Type declarations
Typedef: Text
Base type: string
Typedef: Bytes
Base type: string
Typedef: ScannerID
Base type: i32
Data structures
Struct: TCell
| Field | Type | Description | Required | Default value |
| value | Bytes | | yes | |
| timestamp | i64 | | yes | |
TCell - Used to transport a cell value (byte[]) and the timestamp it was
stored with together as a result for get and getRow methods. This promotes
the timestamp of a cell to a first-class value, making it easy to take
note of temporal data. Cell is used all the way from HStore up to HTable.
Struct: ColumnDescriptor
| Field | Type | Description | Required | Default value |
| name | Text | | yes | |
| maxVersions | i32 | | yes | 3 |
| compression | string | | yes | "NONE" |
| inMemory | bool | | yes | 0 |
| bloomFilterType | string | | yes | "NONE" |
| bloomFilterVectorSize | i32 | | yes | 0 |
| bloomFilterNbHashes | i32 | | yes | 0 |
| blockCacheEnabled | bool | | yes | 0 |
| timeToLive | i32 | | yes | -1 |
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.
Struct: TRegionInfo
| Field | Type | Description | Required | Default value |
| startKey | Text | | yes | |
| endKey | Text | | yes | |
| id | i64 | | yes | |
| name | Text | | yes | |
| version | byte | | yes | |
A TRegionInfo contains information about an HTable region.
Struct: Mutation
| Field | Type | Description | Required | Default value |
| isDelete | bool | | yes | 0 |
| column | Text | | yes | |
| value | Text | | yes | |
A Mutation object is used to either update or delete a column-value.
Struct: BatchMutation
| Field | Type | Description | Required | Default value |
| row | Text | | yes | |
| mutations | list<Mutation> | | yes | |
A BatchMutation object is used to apply a number of Mutations to a single row.
Struct: TRowResult
| Field | Type | Description | Required | Default value |
| row | Text | | yes | |
| columns | map<Text, TCell> | | yes | |
Holds row name and then a map of columns to cells.
Exception: IOError
| Field | Type | Description | Required | Default value |
| message | string | | yes | |
An IOError exception signals that an error occurred communicating
to the Hbase master or an Hbase region server. Also used to return
more general Hbase error conditions.
Exception: IllegalArgument
| Field | Type | Description | Required | Default value |
| message | string | | yes | |
An IllegalArgument exception indicates an illegal or invalid
argument was passed into a procedure.
Exception: AlreadyExists
| Field | Type | Description | Required | Default value |
| message | string | | yes | |
An AlreadyExists exceptions signals that a table with the specified
name already exists
Services
Service: Hbase
Function: Hbase.enableTable
void enableTable(Bytes tableName)
throws IOError
Brings a table on-line (enables it)
Parameters
| Name | Description |
| tableName | name of the table
|
Function: Hbase.disableTable
void disableTable(Bytes tableName)
throws IOError
Disables a table (takes it off-line) If it is being served, the master
will tell the servers to stop serving it.
Parameters
| Name | Description |
| tableName | name of the table
|
Function: Hbase.isTableEnabled
bool isTableEnabled(Bytes tableName)
throws IOError
@return true if table is on-line
Parameters
| Name | Description |
| tableName | name of the table to check
|
Function: Hbase.compact
void compact(Bytes tableNameOrRegionName)
throws IOError
Parameters
| Name | Description |
| tableNameOrRegionName | |
Function: Hbase.majorCompact
void majorCompact(Bytes tableNameOrRegionName)
throws IOError
Parameters
| Name | Description |
| tableNameOrRegionName | |
Function: Hbase.getTableNames
list<Text> getTableNames()
throws IOError
List all the userspace tables.
@return returns a list of names
Function: Hbase.getColumnDescriptors
map<Text, ColumnDescriptor> getColumnDescriptors(Text tableName)
throws IOError
List all the column families assoicated with a table.
@return list of column family descriptors
Parameters
| Name | Description |
| tableName | table name
|
Function: Hbase.getTableRegions
list<TRegionInfo> getTableRegions(Text tableName)
throws IOError
List the regions associated with a table.
@return list of region descriptors
Parameters
| Name | Description |
| tableName | table name
|
Function: Hbase.createTable
void createTable(Text tableName,
list<ColumnDescriptor> columnFamilies)
throws IOError, IllegalArgument, AlreadyExists
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.
@throws IllegalArgument if an input parameter is invalid
@throws AlreadyExists if the table name already exists
Parameters
| Name | Description |
| tableName | name of table to create
|
| columnFamilies | list of column family descriptors
|
Function: Hbase.deleteTable
void deleteTable(Text tableName)
throws IOError
Deletes a table
@throws IOError if table doesn't exist on server or there was some other
problem
Parameters
| Name | Description |
| tableName | name of table to delete
|
Function: Hbase.get
list<TCell> get(Text tableName,
Text row,
Text column)
throws IOError
Get a single TCell for the specified table, row, and column at the
latest timestamp. Returns an empty list if no such value exists.
@return value for specified row/column
Parameters
| Name | Description |
| tableName | name of table
|
| row | row key
|
| column | column name
|
Function: Hbase.getVer
list<TCell> getVer(Text tableName,
Text row,
Text column,
i32 numVersions)
throws IOError
Get the specified number of versions for the specified table,
row, and column.
@return list of cells for specified row/column
Parameters
| Name | Description |
| tableName | name of table
|
| row | row key
|
| column | column name
|
| numVersions | number of versions to retrieve
|
Function: Hbase.getVerTs
list<TCell> getVerTs(Text tableName,
Text row,
Text column,
i64 timestamp,
i32 numVersions)
throws IOError
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.
@return list of cells for specified row/column
Parameters
| Name | Description |
| tableName | name of table
|
| row | row key
|
| column | column name
|
| timestamp | timestamp
|
| numVersions | number of versions to retrieve
|
Function: Hbase.getRow
list<TRowResult> getRow(Text tableName,
Text row)
throws IOError
Get all the data for the specified table and row at the latest
timestamp. Returns an empty list if the row does not exist.
@return TRowResult containing the row and map of columns to TCells
Parameters
| Name | Description |
| tableName | name of table
|
| row | row key
|
Function: Hbase.getRowWithColumns
list<TRowResult> getRowWithColumns(Text tableName,
Text row,
list<Text> columns)
throws IOError
Get the specified columns for the specified table and row at the latest
timestamp. Returns an empty list if the row does not exist.
@return TRowResult containing the row and map of columns to TCells
Parameters
| Name | Description |
| tableName | name of table
|
| row | row key
|
| columns | List of columns to return, null for all columns
|
Function: Hbase.getRowTs
list<TRowResult> getRowTs(Text tableName,
Text row,
i64 timestamp)
throws IOError
Get all the data for the specified table and row at the specified
timestamp. Returns an empty list if the row does not exist.
@return TRowResult containing the row and map of columns to TCells
Parameters
| Name | Description |
| tableName | name of the table
|
| row | row key
|
| timestamp | timestamp
|
Function: Hbase.getRowWithColumnsTs
list<TRowResult> getRowWithColumnsTs(Text tableName,
Text row,
list<Text> columns,
i64 timestamp)
throws IOError
Get the specified columns for the specified table and row at the specified
timestamp. Returns an empty list if the row does not exist.
@return TRowResult containing the row and map of columns to TCells
Parameters
| Name | Description |
| tableName | name of table
|
| row | row key
|
| columns | List of columns to return, null for all columns
|
| timestamp | |
Function: Hbase.mutateRow
void mutateRow(Text tableName,
Text row,
list<Mutation> mutations)
throws IOError, IllegalArgument
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.
Parameters
| Name | Description |
| tableName | name of table
|
| row | row key
|
| mutations | list of mutation commands
|
Function: Hbase.mutateRowTs
void mutateRowTs(Text tableName,
Text row,
list<Mutation> mutations,
i64 timestamp)
throws IOError, IllegalArgument
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.
Parameters
| Name | Description |
| tableName | name of table
|
| row | row key
|
| mutations | list of mutation commands
|
| timestamp | timestamp
|
Function: Hbase.mutateRows
void mutateRows(Text tableName,
list<BatchMutation> rowBatches)
throws IOError, IllegalArgument
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.
Parameters
| Name | Description |
| tableName | name of table
|
| rowBatches | list of row batches
|
Function: Hbase.mutateRowsTs
void mutateRowsTs(Text tableName,
list<BatchMutation> rowBatches,
i64 timestamp)
throws IOError, IllegalArgument
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.
Parameters
| Name | Description |
| tableName | name of table
|
| rowBatches | list of row batches
|
| timestamp | timestamp
|
Function: Hbase.atomicIncrement
i64 atomicIncrement(Text tableName,
Text row,
Text column,
i64 value)
throws IOError, IllegalArgument
Atomically increment the column value specified. Returns the next value post increment.
Parameters
| Name | Description |
| tableName | name of table
|
| row | row to increment
|
| column | name of column
|
| value | amount to increment by
|
Function: Hbase.deleteAll
void deleteAll(Text tableName,
Text row,
Text column)
throws IOError
Delete all cells that match the passed row and column.
Parameters
| Name | Description |
| tableName | name of table
|
| row | Row to update
|
| column | name of column whose value is to be deleted
|
Function: Hbase.deleteAllTs
void deleteAllTs(Text tableName,
Text row,
Text column,
i64 timestamp)
throws IOError
Delete all cells that match the passed row and column and whose
timestamp is equal-to or older than the passed timestamp.
Parameters
| Name | Description |
| tableName | name of table
|
| row | Row to update
|
| column | name of column whose value is to be deleted
|
| timestamp | timestamp
|
Function: Hbase.deleteAllRow
void deleteAllRow(Text tableName,
Text row)
throws IOError
Completely delete the row's cells.
Parameters
| Name | Description |
| tableName | name of table
|
| row | key of the row to be completely deleted.
|
Function: Hbase.deleteAllRowTs
void deleteAllRowTs(Text tableName,
Text row,
i64 timestamp)
throws IOError
Completely delete the row's cells marked with a timestamp
equal-to or older than the passed timestamp.
Parameters
| Name | Description |
| tableName | name of table
|
| row | key of the row to be completely deleted.
|
| timestamp | timestamp
|
Function: Hbase.scannerOpen
ScannerID scannerOpen(Text tableName,
Text startRow,
list<Text> columns)
throws IOError
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.
@return scanner id to be used with other scanner procedures
Parameters
| Name | Description |
| 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.
|
Function: Hbase.scannerOpenWithStop
ScannerID scannerOpenWithStop(Text tableName,
Text startRow,
Text stopRow,
list<Text> columns)
throws IOError
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.
@return scanner id to be used with other scanner procedures
Parameters
| Name | Description |
| 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.
|
Function: Hbase.scannerOpenWithPrefix
ScannerID scannerOpenWithPrefix(Text tableName,
Text startAndPrefix,
list<Text> columns)
throws IOError
Open a scanner for a given prefix. That is all rows will have the specified
prefix. No other rows will be returned.
@return scanner id to use with other scanner calls
Parameters
| Name | Description |
| tableName | name of table
|
| startAndPrefix | the prefix (and thus start row) of the keys you want
|
| columns | the columns you want returned
|
Function: Hbase.scannerOpenTs
ScannerID scannerOpenTs(Text tableName,
Text startRow,
list<Text> columns,
i64 timestamp)
throws IOError
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.
@return scanner id to be used with other scanner procedures
Parameters
| Name | Description |
| 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
|
Function: Hbase.scannerOpenWithStopTs
ScannerID scannerOpenWithStopTs(Text tableName,
Text startRow,
Text stopRow,
list<Text> columns,
i64 timestamp)
throws IOError
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.
@return scanner id to be used with other scanner procedures
Parameters
| Name | Description |
| 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
|
Function: Hbase.scannerGet
list<TRowResult> scannerGet(ScannerID id)
throws IOError, IllegalArgument
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.
@return a TRowResult containing the current row and a map of the columns to TCells.
@throws IllegalArgument if ScannerID is invalid
@throws NotFound when the scanner reaches the end
Parameters
| Name | Description |
| id | id of a scanner returned by scannerOpen
|
Function: Hbase.scannerGetList
list<TRowResult> scannerGetList(ScannerID id,
i32 nbRows)
throws IOError, IllegalArgument
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.
@return a TRowResult containing the current row and a map of the columns to TCells.
@throws IllegalArgument if ScannerID is invalid
@throws NotFound when the scanner reaches the end
Parameters
| Name | Description |
| id | id of a scanner returned by scannerOpen
|
| nbRows | number of results to return
|
Function: Hbase.scannerClose
void scannerClose(ScannerID id)
throws IOError, IllegalArgument
Closes the server-state associated with an open scanner.
@throws IllegalArgument if ScannerID is invalid
Parameters
| Name | Description |
| id | id of a scanner returned by scannerOpen
|