创建一个测试表
本页介绍创建可用于测试代码段的小型 Cloud Bigtable 表的步骤。该表包含智能手机和平板电脑的时间序列数据。
以下说明使用 Google Cloud Console 和 cbt
(一种专为 Bigtable 构建的命令行工具)。
在完成这些步骤之前,您应先完成快速入门:使用 cbt
来设置工具并熟悉 Bigtable。
创建实例
在您选择的项目中,创建一个测试实例来存储您的测试表。该表非常小,因此您只需使用单节点实例。
在 Google Cloud Console 中打开创建实例页面。
在实例名称部分,输入
Test instance
。在实例 ID 部分,输入
test-instance
。在存储类型部分,选择 SSD。
在集群 ID 部分,输入
test-instance-c1
。在区域部分,选择您附近的一个区域。
在地区部分,选择所选区域内的一个地区。
在节点下,输入
1
。点击创建以创建实例。
连接到实例
在本地终端窗口中,设置环境变量
GOOGLE_APPLICATION_CREDENTIALS
。将 [PATH] 替换为包含服务帐号密钥的 JSON 文件的文件路径。export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
例如:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
创建一个
.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
创建一个测试表
创建一个名为
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
来测试代码段,例如将 Cloud Bigtable 与 Cloud Functions 结合使用中的代码段。
清理
为避免系统因这些步骤中创建的资源向您的 Google Cloud 帐号收取费用,请在完成测试后立即删除实例。删除 .cbtrc 文件后,您就可以开始处理另一个项目了。
如果您要保留实例但删除表,可以使用
deletetable
命令:cbt deletetable test-table
如果您不打算使用该实例进行进一步测试,请删除该实例。此操作也会删除该表格。
cbt deleteinstance test-instance
删除 .cbtrc 文件:
rm ~/.cbtrc