创建实例并使用 cbt CLI 写入数据
如果您正在学习 Bigtable,则可以通过完成快速入门来体验在生产环境中大规模使用的基础知识。
在本快速入门中,您将执行以下操作:
- 连接到 Bigtable 实例。
- 执行基本管理任务。
- 将数据写入表中。
- 从表中读取数据。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Cloud Bigtable and Cloud Bigtable Admin APIs:
gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
向您的 Google 账号授予角色。对以下每个 IAM 角色运行以下命令一次:
roles/bigtable.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- 将
PROJECT_ID
替换为您的项目 ID。 - 将
EMAIL_ADDRESS
替换为您的电子邮件地址。 - 将
ROLE
替换为每个角色。
- 将
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Cloud Bigtable and Cloud Bigtable Admin APIs:
gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
向您的 Google 账号授予角色。对以下每个 IAM 角色运行以下命令一次:
roles/bigtable.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- 将
PROJECT_ID
替换为您的项目 ID。 - 将
EMAIL_ADDRESS
替换为您的电子邮件地址。 - 将
ROLE
替换为每个角色。
- 将
- 运行以下命令以安装
cbt
CLI:gcloud components install cbt
创建 Bigtable 实例
在 Google Cloud 控制台中打开创建实例页面。
在实例名称部分,输入
Quickstart instance
。在实例 ID 部分,输入
quickstart-instance
。点击继续。
在存储类型部分,选择 SSD。
点击继续。
在集群 ID 部分,输入
quickstart-instance-c1
。在区域部分,选择您附近的一个区域。
在可用区部分,选择任何。
在节点扩缩模式部分,选择手动分配。
在数量部分,选择 1。
点击创建以创建实例。
连接到您的实例
将
cbt
CLI 配置为使用您的项目和实例,方法是创建一个.cbtrc
文件,并将PROJECT_ID
替换为在其中创建了 Bigtable 实例的项目的 ID:echo project = PROJECT_ID >> ~/.cbtrc && echo instance = quickstart-instance >> ~/.cbtrc
验证
.cbtrc
文件的设置是否正确:cat ~/.cbtrc
终端会显示
.cbtrc
文件的内容,如下所示:project = PROJECT_ID instance = quickstart-instance
现在,您可以使用
cbt
CLI 来处理您的实例了。
读取和写入数据
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>
将
test-value1
和test-value2
值写入到r1
行中,且所属列族为cf1
,列限定符为c1
:cbt set my-table r1 cf1:c1=test-value1 cbt set my-table r1 cf1:c1=test-value2
使用
cbt read
命令读取您已添加到表中的数据:cbt read my-table
该 shell 会显示类似如下所示的输出:
---------------------------------------- r1 cf1:c1 @ 2023/03/22-06:56:11.323000 "test-value1" cf1:c1 @ 2023/03/22-06:56:04.361000 "test-value2"
系统会为
r1
行中的同一列存储两个带有时间戳的值。
清理
为避免系统因本快速入门中使用的资源向您的 Google Cloud 账号收取费用,请删除您的实例。删除 .cbtrc
文件后,您就可以开始处理其他项目了。
删除
my-table
表:cbt deletetable my-table
删除实例:
cbt deleteinstance quickstart-instance
删除
.cbtrc
文件:rm ~/.cbtrc
(可选)使用 gcloud CLI 撤消凭据:
gcloud auth revoke
后续步骤
- 浏览 Bigtable Codelab。
- 查看
cbt
CLI 参考文档。 - 请参阅欺诈侦查用例的示例源代码。
- 使用 C#、C++、Go、Java、Node.js、PHP、Python、Ruby 编写 Hello World 应用,或使用Java 版 HBase 客户端。