cbt CLI でインスタンスを作成してデータを書き込む
Bigtable について学習する場合は、クイックスタートに一通り目を通しておくと、本番環境で大規模に使用することになる基礎を実際に体験できます。
このクイックスタートでは、次のアクションを実行します。
- Bigtable インスタンスに接続する
- 基本的な管理タスクを実行する
- テーブルにデータを書き込む
- テーブルからデータを読み取る
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud プロジェクトを作成または選択します。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_ID
は、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_ID
は、実際の Google Cloud プロジェクト名に置き換えます。
-
-
Cloud Bigtable and Cloud Bigtable Admin API を有効にします。
gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Google アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。
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
-
Google Cloud プロジェクトを作成または選択します。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_ID
は、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_ID
は、実際の Google Cloud プロジェクト名に置き換えます。
-
-
Cloud Bigtable and Cloud Bigtable Admin API を有効にします。
gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Google アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。
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 Console で [インスタンスの作成] ページを開きます。
[インスタンス名] に「
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
1 つの列ファミリーを
cf1
という名前で追加します。cbt createfamily my-table cf1
列ファミリーを一覧表示します。
cbt ls my-table
コマンドによって次のような出力が表示されます。
Family Name GC Policy ----------- --------- cf1 <never>
列ファミリー
cf1
と列修飾子c1
を使用して、値test-value1
とtest-value2
を行r1
に書き込みます。cbt set my-table r1 cf1:c1=test-value1 cbt set my-table r1 cf1:c1=test-value2
cbt read
コマンドを使用して、テーブルに追加したデータを読み取ります。cbt read my-table
シェルによって次のような出力が表示されます。
---------------------------------------- r1 cf1:c1 @ 2023/03/22-06:56:11.323000 "test-value1" cf1:c1 @ 2023/03/22-06:56:04.361000 "test-value2"
タイムスタンプが同じ 2 つの値が、同じ列の
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 で、または Java 用 HBase クライアントを使用して Hello World アプリケーションを作成する。