As of January 1, 2020 this library no longer supports Python 2 on the latest released version. Library versions released prior to that date will continue to be available. For more information please visit Python 2 support on Google Cloud.

Row Set

User-friendly container for Google Cloud Bigtable RowSet

class google.cloud.bigtable.row_set.RowRange(start_key=None, end_key=None, start_inclusive=True, end_inclusive=False)[source]

Bases: object

Convenience wrapper of google.bigtable.v2.RowRange

Parameters
  • start_key (bytes) – (Optional) Start key of the row range. If left empty, will be interpreted as the empty string.

  • end_key (bytes) – (Optional) End key of the row range. If left empty, will be interpreted as the empty string and range will be unbounded on the high end.

  • start_inclusive (bool) – (Optional) Whether the start_key should be considered inclusive. The default is True (inclusive).

  • end_inclusive (bool) – (Optional) Whether the end_key should be considered inclusive. The default is False (exclusive).

get_range_kwargs()[source]

Convert row range object to dict which can be passed to google.bigtable.v2.RowRange add method.

class google.cloud.bigtable.row_set.RowSet[source]

Bases: object

Convenience wrapper of google.bigtable.v2.RowSet

Useful for creating a set of row keys and row ranges, which can be passed to yield_rows method of class:.Table.yield_rows.

add_row_key(row_key)[source]

Add row key to row_keys list.

For example:

from google.cloud.bigtable import Client
from google.cloud.bigtable.row_set import RowSet

client = Client(admin=True)
instance = client.instance(INSTANCE_ID)
table = instance.table(TABLE_ID)

row_set = RowSet()
row_set.add_row_key(b"row_key_5")
Parameters

row_key (bytes) – The key of a row to read

add_row_range(row_range)[source]

Add row_range to row_ranges list.

For example:

from google.cloud.bigtable import Client
from google.cloud.bigtable.row_set import RowSet
from google.cloud.bigtable.row_set import RowRange

client = Client(admin=True)
instance = client.instance(INSTANCE_ID)
table = instance.table(TABLE_ID)

row_set = RowSet()
row_set.add_row_range(RowRange(start_key=b"row_key_3", end_key=b"row_key_7"))
Parameters

row_range (class:RowRange) – The row range object having start and end key

add_row_range_from_keys(start_key=None, end_key=None, start_inclusive=True, end_inclusive=False)[source]

Add row range to row_ranges list from the row keys

For example:

from google.cloud.bigtable import Client
from google.cloud.bigtable.row_set import RowSet

client = Client(admin=True)
instance = client.instance(INSTANCE_ID)
table = instance.table(TABLE_ID)

row_set = RowSet()
row_set.add_row_range_from_keys(start_key=b"row_key_3", end_key=b"row_key_7")
Parameters
  • start_key (bytes) – (Optional) Start key of the row range. If left empty, will be interpreted as the empty string.

  • end_key (bytes) – (Optional) End key of the row range. If left empty, will be interpreted as the empty string and range will be unbounded on the high end.

  • start_inclusive (bool) – (Optional) Whether the start_key should be considered inclusive. The default is True (inclusive).

  • end_inclusive (bool) – (Optional) Whether the end_key should be considered inclusive. The default is False (exclusive).

add_row_range_with_prefix(row_key_prefix)[source]

Add row range to row_ranges list that start with the row_key_prefix from the row keys

For example:

    from google.cloud.bigtable import Client
    from google.cloud.bigtable.row_set import RowSet

    client = Client(admin=True)
    instance = client.instance(INSTANCE_ID)
    table = instance.table(TABLE_ID)

    row_set = RowSet()
    row_set.add_row_range_with_prefix("row")
Parameters

row_key_prefix (str) – To retrieve all rows that start with this row key prefix. Prefix cannot be zero length.