Row Data
Container for Google Cloud Bigtable Cells and Streaming Row Contents.
class google.cloud.bigtable.row_data.Cell(value, timestamp_micros, labels=None)
Bases: object
Representation of a Google Cloud Bigtable Cell.
Parameters
classmethod from_pb(cell_pb)
Create a new cell from a Cell protobuf.
Parameters
cell_pb (
_generated.data_pb2.Cell) – The protobuf to convert.Return type
CellReturns
The cell corresponding to the protobuf.
google.cloud.bigtable.row_data.DEFAULT_RETRY_READ_ROWS( = <google.api_core.retry.Retry object )
The default retry strategy to be used on retry-able errors.
Used by
_read_next_response().
exception google.cloud.bigtable.row_data.InvalidChunk()
Bases: RuntimeError
Exception raised to to invalid chunk data from back-end.
exception google.cloud.bigtable.row_data.InvalidReadRowsResponse()
Bases: RuntimeError
Exception raised to to invalid response data from back-end.
class google.cloud.bigtable.row_data.PartialCellData(row_key, family_name, qualifier, timestamp_micros, labels=(), value=b'')
Bases: object
Representation of partial cell in a Google Cloud Bigtable Table.
These are expected to be updated directly from a
_generated.bigtable_service_messages_pb2.ReadRowsResponse
Parameters
row_key (bytes) – The key for the row holding the (partial) cell.
family_name (str) – The family name of the (partial) cell.
qualifier (bytes) – The column qualifier of the (partial) cell.
timestamp_micros (int) – The timestamp (in microsecods) of the (partial) cell.
labels (list of str) – labels assigned to the (partial) cell
value (bytes) – The (accumulated) value of the (partial) cell.
append_value(value)
Append bytes from a new chunk to value.
Parameters
value (bytes) – bytes to append
class google.cloud.bigtable.row_data.PartialRowData(row_key)
Bases: object
Representation of partial row in a Google Cloud Bigtable Table.
These are expected to be updated directly from a
_generated.bigtable_service_messages_pb2.ReadRowsResponse
Parameters
row_key (bytes) – The key for the row holding the (partial) data.
cell_value(column_family_id, column, index=0)
Get a single cell value stored on this instance.
For example:
from google.cloud.bigtable import Client
client = Client(admin=True)
instance = client.instance(INSTANCE_ID)
table = instance.table(TABLE_ID)
row_key = "row_key_1"
row_data = table.read_row(row_key)
cell_value = row_data.cell_value(COLUMN_FAMILY_ID, COL_NAME1)
Parameters
Returns
The cell value stored in the specified column and specified index.
Return type
Cell value
Raises
KeyError – If
column_family_idis not among the cells stored in this row.KeyError – If
columnis not among the cells stored in this row for the givencolumn_family_id.IndexError – If
indexcannot be found within the cells stored in this row for the givencolumn_family_id,columnpair.
cell_values(column_family_id, column, max_count=None)
Get a time series of cells stored on this instance.
For example:
from google.cloud.bigtable import Client
client = Client(admin=True)
instance = client.instance(INSTANCE_ID)
table = instance.table(TABLE_ID)
row_key = "row_key_1"
row_data = table.read_row(row_key)
cell_values = row_data.cell_values(COLUMN_FAMILY_ID, COL_NAME1)
Parameters
Returns
cell.value, cell.timestamp_micros
for each cell in the list of cellsReturn type
A generator which provides
Raises
property cells()
Property returning all the cells accumulated on this partial row.
For example:
from google.cloud.bigtable import Client
client = Client(admin=True)
instance = client.instance(INSTANCE_ID)
table = instance.table(TABLE_ID)
row_key = "row_key_1"
row_data = table.read_row(row_key)
cells = row_data.cells
Return type
Returns
Dictionary of the
Cellobjects accumulated. This dictionary has two-levels of keys (first for column families and second for column names/qualifiers within a family). For a given column, a list ofCellobjects is stored.
find_cells(column_family_id, column)
Get a time series of cells stored on this instance.
For example:
from google.cloud.bigtable import Client
client = Client(admin=True)
instance = client.instance(INSTANCE_ID)
table = instance.table(TABLE_ID)
row_key = "row_key_1"
row = table.read_row(row_key)
cells = row.find_cells(COLUMN_FAMILY_ID, COL_NAME2)
Parameters
Returns
The cells stored in the specified column.
Return type
List[Cell]
Raises
property row_key()
Getter for the current (partial) row’s key.
Return type
Returns
The current (partial) row’s key.
to_dict()
Convert the cells to a dictionary.
This is intended to be used with HappyBase, so the column family and
column qualiers are combined (with :).
Return type
Returns
Dictionary containing all the data in the cells of this row.
class google.cloud.bigtable.row_data.PartialRowsData(read_method, request, retry=<google.api_core.retry.Retry object>)
Bases: object
Convenience wrapper for consuming a ReadRows streaming response.
Parameters
read_method (
client._table_data_client.read_rows) –ReadRowsmethod.request (
data_messages_v2_pb2.ReadRowsRequest) – TheReadRowsRequestmessage used to create a ReadRowsResponse iterator. If the iterator fails, a new iterator is created, allowing the scan to continue from the point just beyond the last successfully read row, identified by self.last_scanned_row_key. The retry happens inside of the Retry class, using a predicate for the expected exceptions during iteration.retry (
Retry) – (Optional) Retry delay and deadline arguments. To override, the default valueDEFAULT_RETRY_READ_ROWScan be used and modified with thewith_delay()method or thewith_deadline()method.
_iter_()
Consume the ReadRowsResponse s from the stream.
Read the rows and yield each to the reader
Parse the response and its chunks into a new/existing row in
_rows. Rows are returned in order by row key.
cancel()
Cancels the iterator, closing the stream.
consume_all(max_loops=None)
Consume the streamed responses until there are no more.
WARNING: This method will be removed in future releases. Please use this class as a generator instead.
Parameters
max_loops (int) – (Optional) Maximum number of times to try to consume an additional
ReadRowsResponse. You can use this to avoid long wait times.
property state()
State machine state.
Return type
Returns
name of state corresponding to current row / chunk processing.