创建一个测试表
本页面介绍了创建可用于测试代码段的小型 Bigtable 表的步骤。该表包含智能手机和平板电脑的时间序列数据。
以下说明使用 Google Cloud 控制台和 cbt
CLI(一种专为 Bigtable 构建的命令行界面)。
准备工作
在创建测试表之前,请先满足以下前提条件。
设置身份验证
您可以从以下任一开发环境使用本页面上的 gcloud CLI 示例:
-
Cloud Shell:如需使用已设置 gcloud CLI 的在线终端,请激活 Cloud Shell。
Cloud Shell 会话会在页面底部启动,并显示命令行提示符。该会话可能需要几秒钟来完成初始化。
如需了解如何为生产环境设置身份验证,请参阅 为在 Google Cloud 上运行的代码设置应用默认凭据。
授予 IAM 角色
如需获取创建测试表所需的权限,请让管理员授予您项目的 Bigtable Administrator (roles/bigtable.admin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理访问权限。
安装 cbt
CLI
运行以下命令以安装 cbt
CLI:
gcloud components install cbt
创建实例
在您选择的项目中,创建一个测试实例来存储您的测试表。该表非常小,因此您只需使用单节点实例。
在 Google Cloud 控制台中打开创建实例页面。
在实例名称部分,输入
Test instance
。在实例 ID 部分,输入
test-instance
。在存储类型部分,选择 SSD。
在集群 ID 部分,输入
test-instance-c1
。在区域部分,选择您附近的一个区域。
在地区部分,选择所选区域内的一个地区。
在节点下,输入
1
。点击创建以创建实例。
连接到实例
将
cbt
CLI 配置为使用您的项目和实例,方法是创建一个.cbtrc
文件,并将PROJECT_ID
替换为在其中创建了 Bigtable 实例的项目的 ID:echo project = PROJECT_ID >> ~/.cbtrc && echo instance = test-instance >> ~/.cbtrc
验证
.cbtrc
文件的设置是否正确:cat ~/.cbtrc
终端会显示
.cbtrc
文件的内容,如下所示:project = PROJECT_ID instance = test-instance
现在,您可以使用
cbt
CLI 来处理您的实例了。
创建一个测试表
创建一个名为
test-table
且包含两个列族的表。针对每个列族,设置垃圾回收政策,以使每个列最多附加 2 个单元:cbt createtable test-table "families=stats_summary:maxversions=2,stats_detail:maxversions=2,cell_plan:maxversions=2"
列出列族:
cbt ls test-table
该终端会显示类似如下所示的输出:
Family Name GC Policy ----------- --------- stats_detail versions() > 2 stats_summary versions() > 2 cell_plan versions() > 2
填充表
将以下命令复制到终端窗口中,然后按
Enter
。cbt set test-table phone#4c410523#20190501 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190405.003 cell_plan:data_plan_01gb=true cell_plan:data_plan_05gb=true cbt set test-table phone#4c410523#20190502 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190405.004 cell_plan:data_plan_05gb=true cbt set test-table phone#4c410523#20190505 stats_summary:connected_cell=0 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190406.000 cbt set test-table phone#5c10102#20190501 stats_summary:connected_cell=1 stats_summary:connected_wifi=1 stats_summary:os_build=PQ2A.190401.002 cell_plan:data_plan_10gb=true cbt set test-table tablet#5c10102#20190502 stats_summary:connected_cell=1 stats_summary:connected_wifi=0 stats_summary:os_build=PQ2A.190406.000 cell_plan:data_plan_10gb=true
使用
cbt read
命令读取您已添加到表中的数据:cbt read test-table
该终端会显示类似如下所示的输出。请注意,因为您的写入请求不包含时间戳,所以系统会自动将时间戳分配给单元格。
---------------------------------------- phone#4c410523#20190501 cell_plan:data_plan_01gb @ 2020/09/23-11:44:10.535000 "true" cell_plan:data_plan_05gb @ 2020/09/23-11:44:10.535000 "true" stats_summary:connected_cell @ 2020/09/23-11:44:10.535000 "1" stats_summary:connected_wifi @ 2020/09/23-11:44:10.535000 "1" stats_summary:os_build @ 2020/09/23-11:44:10.535000 "PQ2A.190405.003" ---------------------------------------- phone#4c410523#20190502 cell_plan:data_plan_05gb @ 2020/09/23-11:44:11.545000 "true" stats_summary:connected_cell @ 2020/09/23-11:44:11.545000 "1" stats_summary:connected_wifi @ 2020/09/23-11:44:11.545000 "1" stats_summary:os_build @ 2020/09/23-11:44:11.545000 "PQ2A.190405.004" ---------------------------------------- phone#4c410523#20190505
stats_summary:connected_cell @ 2020/09/23-11:44:12.503000 "0" stats_summary:connected_wifi @ 2020/09/23-11:44:12.503000 "1" stats_summary:os_build @ 2020/09/23-11:44:12.503000 "PQ2A.190406.000" ---------------------------------------- phone#5c10102#20190501 cell_plan:data_plan_10gb @ 2020/09/23-11:44:13.553000 "true" stats_summary:connected_cell @ 2020/09/23-11:44:13.553000 "1" stats_summary:connected_wifi @ 2020/09/23-11:44:13.553000 "1" stats_summary:os_build @ 2020/09/23-11:44:13.553000 "PQ2A.190401.002" ---------------------------------------- tablet#5c10102#20190502 cell_plan:data_plan_10gb @ 2020/09/23-11:44:14.480000 "true" stats_summary:connected_cell @ 2020/09/23-11:44:14.480000 "1" stats_summary:connected_wifi @ 2020/09/23-11:44:14.480000 "0" stats_summary:os_build @ 2020/09/23-11:44:14.480000 "PQ2A.190406.000"
使用测试数据
您现在可以使用 test-instance
上的 test-table
来试用代码段,例如将 Bigtable 与 Cloud Functions 搭配使用中的代码段。
清理
为避免系统因这些步骤中创建的资源向您的 Google Cloud 账号收取费用,请在完成测试后立即删除实例。删除 .cbtrc 文件后,您就可以开始处理另一个项目了。
如果您要保留实例但删除表,可以使用
deletetable
命令:cbt deletetable test-table
如果您不打算使用该实例进行进一步测试,请删除该实例。此操作也会删除该表格。
cbt deleteinstance test-instance
删除 .cbtrc 文件:
rm ~/.cbtrc