Report an Issue

Table Admin API#

Warning

gRPC is required for using the Cloud Bigtable API. As of May 2016, grpcio is only supported in Python 2.7, so importing gcloud.bigtable in other versions of Python will fail.

After creating a Instance, you can interact with individual tables, groups of tables or column families within a table.

List Tables#

If you want a comprehensive list of all existing tables in a instance, make a ListTables API request with Instance.list_tables():

>>> instance.list_tables()
[<gcloud.bigtable.table.Table at 0x7ff6a1de8f50>,
 <gcloud.bigtable.table.Table at 0x7ff6a1de8350>]

Table Factory#

To create a Table object:

table = instance.table(table_id)

Even if this Table already has been created with the API, you’ll want this object to use as a parent of a ColumnFamily or Row.

Create a new Table#

After creating the table object, make a CreateTable API request with create():

table.create()

If you would to initially split the table into several tablets (Tablets are similar to HBase regions):

table.create(initial_split_keys=['s1', 's2'])

Delete an existing Table#

Make a DeleteTable API request with delete():

table.delete()

List Column Families in a Table#

Though there is no official method for retrieving column families associated with a table, the GetTable API method returns a table object with the names of the column families.

To retrieve the list of column families use list_column_families():

column_families = table.list_column_families()

Column Family Factory#

To create a ColumnFamily object:

column_family = table.column_family(column_family_id)

There is no real reason to use this factory unless you intend to create or delete a column family.

In addition, you can specify an optional gc_rule (a GarbageCollectionRule or similar):

column_family = table.column_family(column_family_id,
                                    gc_rule=gc_rule)

This rule helps the backend determine when and how to clean up old cells in the column family.

See Column Families for more information about GarbageCollectionRule and related classes.

Create a new Column Family#

After creating the column family object, make a CreateColumnFamily API request with ColumnFamily.create()

column_family.create()

Delete an existing Column Family#

Make a DeleteColumnFamily API request with ColumnFamily.delete()

column_family.delete()

Update an existing Column Family#

Make an UpdateColumnFamily API request with ColumnFamily.delete()

column_family.update()

Next Step#

Now we go down the final step of the hierarchy from Table to Row as well as streaming data directly via a Table.

Head next to learn about the Data API.