如果您想要了解 Cloud Bigtable,可以通过逐步完成快速入门中的操作来了解在生产环境中广泛使用的基础知识。
本快速入门使用 cbt
命令行工具。如果您更喜欢使用 HBase shell,请改为使用快速入门:使用 HBase shell。
在本快速入门中,您将执行以下操作:
- 连接到 Cloud Bigtable 实例。
- 执行基本管理任务。
- 将数据写入表中。
- 从表中读取数据。
您可以使用 Cloud Shell 或本地终端窗口来执行本快速入门中的操作。
选择或创建 GCP 项目。如果您不打算保留在本快速入门中创建的资源,请创建一个新项目。这样,您就可以在完成本快速入门后删除该项目。
确保您的 Google Cloud 项目已启用结算功能。了解如何确认您的项目是否已启用结算功能。
启用 Cloud Bigtable 和 Cloud Bigtable Admin API。
启用 API 后,点击转到“凭据”页面。
在凭据页面上,您需要回答以下问题:
- 在回答“您使用的是哪个 API?”这个问题时,请选择 Cloud Bigtable API。
- 回答与 App Engine 或 Compute Engine 有关的问题。在本快速入门中,您并不会用到这些产品。
- 点击我需要哪些凭据?
- 如果系统提示您创建服务帐号,请提供以下信息:
- 为您的服务帐号选择一个名称。
- 在角色部分,选择 Cloud Bigtable > Bigtable Administrator。
- 在密钥类型部分,选择 JSON。
- 点击继续。
- 将新创建的服务帐号 JSON 文件保存到您的本地
HOME
目录或您偏好的位置。如果您计划在 Cloud Shell 中完成快速入门,则可以跳过这一步。
- 如果系统未提示您创建新的服务帐号,请点击完成。
在本地或使用 Cloud Shell 打开一个终端窗口:
如果您使用的是本地终端窗口,请设置环境变量
GOOGLE_APPLICATION_CREDENTIALS
。将 [PATH] 替换为包含服务帐号密钥的 JSON 文件的文件路径。export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
例如:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
如果您使用的是本地终端窗口,请安装 Cloud SDK 和
cbt
工具(如果尚未执行此操作)。如果您使用的是 Cloud Shell,则系统已预安装这些工具,因此您可以跳过这些步骤。安装
cbt
命令行工具:gcloud components update
gcloud components install cbt
创建 Cloud Bigtable 实例
在 Google Cloud Console 中打开创建实例页面。
在实例名称部分,输入
Quickstart instance
。在实例 ID 部分,输入
quickstart-instance
。在存储类型部分,选择 SSD。
在集群 ID 部分,输入
quickstart-instance-c1
。在区域部分,选择您附近的一个区域。
在地区部分,选择所选区域内的一个地区。
点击创建以创建实例。
连接到您的实例
配置
cbt
以使用您的项目和实例,方法是创建一个.cbtrc
文件,并将 project-id 替换为您在其中创建 Cloud Bigtable 实例的项目的 ID:echo project = project-id > ~/.cbtrc
echo instance = quickstart-instance >> ~/.cbtrc
验证
.cbtrc
文件的设置是否正确:cat ~/.cbtrc
终端会显示
.cbtrc
文件的内容,如下所示:project = project-id instance = quickstart-instance
现在,您可以使用
cbt
工具来处理您的实例了。
读取和写入数据
Cloud Bigtable 将数据存储在表中。这些表包含行,且每行由一个行键标识。
行中的数据以“列族”(即一组列)的形式整理。 “列限定符”用于标识列族中的单个列。
行和列交集处的值可以有多个带时间戳的版本。每个版本称为“单元格”。
创建一个名为
my-table
的表。cbt createtable my-table
列出您的表:
cbt ls
该命令会显示类似如下所示的输出:
my-table
添加一个名为
cf1
的列族:cbt createfamily my-table cf1
列出您的列族:
cbt ls my-table
该命令会显示类似如下所示的输出:
Family Name GC Policy ----------- --------- cf1 <never>
使用
cf1
列族和c1
列限定符,将test-value
值添加到r1
行中:cbt set my-table r1 cf1:c1=test-value
使用
cbt read
命令读取您已添加到表中的数据:cbt read my-table
该 shell 会显示类似如下所示的输出:
---------------------------------------- r1 cf1:c1 @ 2019/11/26-15:05:38.840000 "test-value"
时间戳是系统自动添加的,因为您并未指定时间戳。
清理
为避免系统因本快速入门中使用的资源向您的 Google Cloud 帐号收取费用,请删除您的实例。删除 .cbtrc
文件后,您就可以开始处理其他项目了。
删除
my-table
表:cbt deletetable my-table
删除实例:
cbt deleteinstance quickstart-instance
删除
.cbtrc
文件:rm ~/.cbtrc