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)

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()

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

class google.cloud.bigtable.row_set.RowSet()

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)

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)

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)

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)

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.