CSV を Cloud Bigtable に簡単にインポート
Google Cloud Japan Team
※この投稿は米国時間 2022 年 4 月 13 日に、Google Cloud blog に投稿されたものの抄訳です。
新しいデータベースを学習しようとする場合、まずはデータをいくつか読み込んで 1 つか 2 つのクエリを実行するなどして確かめてみたくなるでしょう。Cloud Bigtable は、スケーラビリティとスループットを向上させる強力なデータベース サービスで、その NoSQL の性質により、非常にフレキシブルな方法でデータが格納されます。Bigtable は大規模環境向けであるため、Bigtable の読み書きに使用するツールは大規模なデータセットには適していても、ほんの 30 分だけ試してみるといった使い方にはあまり適さない傾向があります。数年前、私は Dataflow ジョブを使用した CSV ファイルへのインポートに関するチュートリアルをまとめてこの課題に取り組もうとしましたが、このためには複数の VM をスピンアップする必要があり、時間がかかる可能性がありました。
Bigtable チームは、CSV インポートのチュートリアルが、VM を作成する必要があるにもかかわらず非常に多くのユーザーに例として参照されていることに気づきました。また、もっと迅速に始められる方法を求めているユーザーからフィードバックもいただきました。そこで、このたび cbt CLI ツールで使用する Bigtable 用の CSV インポータをリリースいたします。新しいインポータは、ローカルファイルを取得し、Go クライアント ライブラリを使用してデータをすばやくインポートします。VM をスピンアップする必要も、コードを作成する必要もありません。
インストール
cbt ツールがインストールされた gcloud がすでにある場合は、gcloud コンポーネントのアップグレードを実行して、gcloud が最新であることを確認するだけです。ない場合は、cbt ツールを含むgcloud をインストールします。
マシンにツールをインストールできない場合は、Google Cloud Console で Cloud Shell からツールにアクセスすることもできます。
データのインポート
Bigtable の公開バケットにいくつかの時系列データを含む csv ファイルがあるので、ここではそれを例として使用しましょう。ご自由にダウンロードして、ツールをお試しください。以降の手順は、Google Cloud プロジェクトと Cloud Bigtable インスタンスを作成していることを前提としています。
インポートの準備ができているテーブルが必要なので、次のコマンドを使用してテーブルを作成します。
次に、新しい cbt import コマンドを使用して、データをインポートします。
データがインポートされていることを示す出力が表示されます。インポートが完了したら、cbt を使用してテーブルから数行を読み取ります。
手順に沿って作業を進めてきた場合は、終了したら必ずテーブルを削除してください。
CSV 形式


列ファミリーがない CSV ファイル


列ファミリーがある CSV ファイル
CSV ファイルは、列修飾子を指定する 1 行のヘッダーと行キー用の 1 つの空白を使用します。列ファミリー用にヘッダーの行を追加して、import コマンドから column-family 引数を削除することもできます。
このツールが Bigtable に慣れるのに役立ち、ツールを使用してより簡単にテストできるようになれば幸いです。クイックスタート ガイドを使用して、Bigtable と cbt コマンドラインを使ってみてください。
- Cloud Bigtable 担当デベロッパー アドボケイト、Billy Jacobson