创建测试表

本页介绍创建可用于测试代码段的小型 Cloud Bigtable 表的步骤。该表包含智能手机和平板电脑的时间序列数据。

以下说明使用 Google Cloud Console 和 cbt(一种专为 Bigtable 构建的命令行工具)。

在完成这些步骤之前,您应先完成快速入门:使用 cbt 来设置工具并熟悉 Bigtable。

创建实例

在您选择的项目中,创建一个测试实例来存储您的测试表。该表非常小,因此您只需使用单节点实例。

  1. 在 Google Cloud Console 中打开创建实例页面。

    创建实例

  2. 实例名称部分,输入 Test instance

  3. 实例 ID 部分,输入 test-instance

  4. 存储类型部分,选择 SSD

  5. 集群 ID 部分,输入 test-instance-c1

  6. 区域部分,选择您附近的一个区域。

  7. 地区部分,选择所选区域内的一个地区。

  8. 节点下,输入 1

  9. 点击创建以创建实例。

连接到实例

  1. 在本地终端窗口中,设置环境变量 GOOGLE_APPLICATION_CREDENTIALS。将 [PATH] 替换为包含服务帐号密钥的 JSON 文件的文件路径。

       export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

    例如:

       export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"

  2. 创建一个 .cbtrc 文件,并将 project-id 替换为在其中创建 Bigtable 测试实例的项目的 ID:

       echo project = project-id > ~/.cbtrc
       echo instance = test-instance >> ~/.cbtrc

  3. 验证 .cbtrc 文件的设置是否正确:

       cat ~/.cbtrc

    终端会显示 .cbtrc 文件的内容,如下所示:

    project = project-id
    instance = test-instance

创建一个测试表

  1. 创建一个名为 test-table 且包含两个列族的表。针对每个列族,设置垃圾回收政策,以使每个列最多附加 2 个单元:

       cbt createtable test-table "families=stats_summary:maxversions=2,stats_detail:maxversions=2,cell_plan:maxversions=2"

  2. 列出列族:

       cbt ls test-table

    该终端会显示类似如下所示的输出:

        Family Name       GC Policy
        -----------       ---------
        stats_detail        versions() > 2
        stats_summary       versions() > 2
        cell_plan           versions() > 2

填充表

  1. 将以下命令复制到终端窗口中,然后按 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

  2. 使用 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 文件后,您就可以开始处理另一个项目了。

  1. 如果您要保留实例但删除表,可以使用 deletetable 命令:

       cbt deletetable test-table

  2. 如果您不打算使用该实例进行进一步测试,请删除该实例。此操作也会删除该表格。

       cbt deleteinstance test-instance

  3. 删除 .cbtrc 文件:

       rm ~/.cbtrc

后续步骤