GCP Bigtable 使ってみた

GCP

はじめに

Bigtableはペタバイトクラスのテーブルを扱うNoSQL。
基本的に、GUIから操作することはなく、API、CloudShellを用いて操作を行う。

ここでは、CloudShellでテーブル作成するまでの流れを記載する。

cbt ツールを使用したクイックスタート  |  Cloud Bigtable ドキュメント  |  Google Cloud

認証の準備

CloudShellでコマンドを利用するための認証の準備を行う。

Google Cloud プラットフォーム
Google Cloud Platform では、Google と同じインフラストラクチャでアプリケーション、ウェブサイト、サービスを構築、導入、拡大することができます。

APIの有効化

JSONファイルの保存

入力が終わると、JSONファイルがダウンロードされる。
ダウンロードしたJSONファイルはCloudShellへアップロードする。

CloudShellへの認証情報の登録

$ export GOOGLE_APPLICATION_CREDENTIALS="/home/hogehoge/my-key.json"
$ cat $GOOGLE_APPLICATION_CREDENTIALS
### 表示されることの確認
{
  "type": "service_account",
  "project_id": "hogehoge-project-302301",
  "private_key_id": "xxxx",
  "private_key": "

インスタンスの作成

テーブルの作成

cbt用rcファイル作成

Bigtableを操作するにはcbtコマンドを利用する。(Cloud Big Table コマンド)
まずはcbtコマンド用のrcファイルを作成する。
rcファイルを準備しておけば、cbtコマンド実行時に反映される。

$ echo project = xxx-project-xxx > ~/.cbtrc
$ echo instance = test123 >> ~/.cbtrc

テーブルの作成

### テーブルの作成
$ cbt createtable my-table

### テーブルの一覧表示
$ cbt ls
my-table

### 列ファミリーの追加
$ cbt createfamily my-table cf1

### 列ファミリー一覧表示
$ cbt ls my-table
Family Name     GC Policy
-----------     ---------
cf1             <never>

### 列ファミリー cf1 と列修飾子 c1 を使用して、行 r1 に test-value という値を入れます。
$ cbt set my-table r1 cf1:c1=test-value

### データの読み取り
$ cbt read my-table
----------------------------------------
r1
  cf1:c1                                   @ 2021/01/28-01:30:01.870000
    "test-value"

$ rm ~/.cbtrc

$ cbt read my-table
2021/01/28 01:30:33 -project flag unset, will use gcloud active project
2021/01/28 01:30:34 gcloud active project is "xxx-project-302301"
2021/01/28 01:30:34 Missing -instance

Bigtableのテーブル構成

Cloud Bigtable の概要  |  Cloud Bigtable ドキュメント  |  Google Cloud
### 列ファミリー game と列修飾子 dnf を使用して、行 Bsan に 1 という値を入れます。
$ cbt set my-table Asan game:dnf=1

コメント

タイトルとURLをコピーしました