Table Admin API
After creating an 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()
[<google.cloud.bigtable.table.Table at 0x7ff6a1de8f50>,
<google.cloud.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 like 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.