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 - Cell
- Returns - 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 given- column_family_id.
- IndexError – If - indexcannot be found within the cells stored in this row for the given- column_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 cells
- Return 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 of- Cellobjects 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) – The- ReadRowsRequestmessage 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 value- DEFAULT_RETRY_READ_ROWScan be used and modified with the- with_delay()method or the- with_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.