テストテーブルの作成

このページでは、コード スニペットのテストで使用できる小さな 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. 2 つの列ファミリーを持つ test-table という名前のテーブルを作成します。列ファミリーごとに、1 つのガベージ コレクション ポリシーを設定し、列ごとに最大で 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-instancetest-table を使用して、Cloud Bigtable と Cloud Functions の併用などにあるコード スニペットを試すことができるようになりました。

クリーンアップ

この手順で作成したリソースについて、Google Cloud アカウントに課金されないようにするには、テストの完了後すぐにインスタンスを削除します。.cbtrc ファイルを削除すると、別のプロジェクトで作業できるようになります。

  1. インスタンスを削除せずにテーブルを削除する場合は、deletetable コマンドを使用します。

       cbt deletetable test-table

  2. 今後インスタンスをテストに使用する予定がない場合は、インスタンスを削除します。この操作を行うと、テーブルも削除されます。

       cbt deleteinstance test-instance

  3. .cbtrc ファイルを削除します。

       rm ~/.cbtrc

次のステップ