始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Insert data through a client library
/ 30
Insert batch data through a client library
/ 30
Load data using Dataflow
/ 40
Cloud Spanner は Google の水平スケーリングが可能なフルマネージド リレーショナル データベース サービスです。金融サービス、ゲーム、小売など多くの業界のお客様が、大規模な整合性と可用性が要求されるワークロードの実行に使用しています。
このラボでは、Cloud Spanner にデータを読み込むさまざまな方法を学び、データベースのバックアップを実行します。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
デプロイ中に、Cloud Spanner のインスタンス、データベース、テーブルが作成されました。
インスタンス名は banking-instance です。クリックしてデータベースを確認します。関連付けられたデータベースの名前は banking-db です。クリックして探索すると、Customer という名前のテーブルがすでに存在することがわかります。クリックすると、スキーマを確認できます。
banking-db の概要ページに戻ります。左側のメニューで [Spanner Studio] をクリックし、以下のコマンドを実行します。Spanner にデータを挿入する最も簡単な方法は、DML を使用することです。Cloud Shell と gcloud を使用して、INSERT を含む任意の DML ステートメントを実行できます。
前述のように、gcloud を使用して任意の DML コマンドを実行できます。DML と Spanner のドキュメントを確認します。
もちろん、データベースの行を 1 行ずつ読み込むのは効率的ではありません。
Spanner にアクセスする最適な方法は、プログラム インターフェースを使用することです。C++、C#、Go、Java、Node.js、PHP、Python、Ruby など、さまざまなクライアント ライブラリが用意されています。
Ctrl+X キーで nano を終了したら、Y キーで更新を確認し、Enter キーを押して変更を保存します。
Python コードを実行します。
gcloud と同様に、クライアント ライブラリから任意の DML ステートメントを実行できます。さまざまな言語の複数の例については、ドキュメントをご覧ください。
これは gcloud を使用してデータを読み込むよりも柔軟性がありますが、行数が非常に多いソースを読み込む場合は、依然として制限があります。
データを Spanner に読み込むより最適な方法は、バッチ処理を行うことです。すべてのクライアント ライブラリでバッチ読み込みがサポートされています。この例では Python を使用します。
Ctrl+X キーで nano を終了したら、Y キーで更新を確認し、Enter キーを押して変更を保存します。
Python コードを実行します。
バッチメソッドは単一のリクエストとして実行されるため、より効率的です。クライアントとサーバーの間の往復が 1 回のみで済むため、レイテンシが短縮されます。
しかし、これはデータの読み込みに非常に時間がかかり、リソースを消費する方法です。
Dataflow は、大規模なストリーミング データ処理とバッチデータ処理を行う Google Cloud サービスです。Dataflow は複数のワーカーを使用してデータ処理を並行して実行します。データの処理方法は、データの生成元(ソース)から宛先(シンク)にデータを変換するパイプラインを使用して定義されます。
Dataflow でデータベースをソースまたはシンクとして接続できる Spanner 用のコネクタが用意されています。
大量のデータを読み込むには、Dataflow のサーバーレス分散機能を使用してソース(Google Cloud Storage の CSV ファイルなど)からデータを読み取り、シンクコネクタを使用して Spanner データベースに読み込むことができます。
コンソールから、ナビゲーション メニュー()> [すべてのプロダクトを表示] を開きます。[分析] セクションで [Dataflow] をクリックします。
画面上部にある [テンプレートからジョブを作成] をクリックします。
テンプレートに以下の値を配置します。
ジョブ名: spanner-load
リージョナル エンドポイント:
Dataflow テンプレート セレクタを下にスクロールすると、Dataflow で使用できるさまざまなブループリントが表示されます。もちろん、Beam SDK を使用して、独自のカスタマイズされたパイプラインを作成することもできます。
テンプレートには主に以下の 2 種類があります。
このシナリオでは、150,000 行を超える CSV ファイルから Spanner の銀行データベースにデータを読み込みます。
Text Files on Cloud Storage to Cloud Spanner テンプレートを選択します。
テンプレートに以下の値を配置します。
| 項目 | 値 |
|---|---|
| Cloud Spanner インスタンス ID | banking-instance |
| Cloud Spanner データベース ID | banking-db |
| テキスト インポート マニフェスト ファイル | spls/gsp1049/manifest.json |
manifest.json ファイル形式については、このテンプレートのチュートリアルで説明されています(パラメータ入力フィールドのすぐ上にある [チュートリアルを開く] をクリックするとアクセスできます)。
マニフェスト ファイルは、Dataflow がアクセスして読み取ることができる Google Cloud Storage バケットに保存する必要があります。このラボでは、manifest.json の内容は以下のようになります。
マニフェスト ファイルでは、テーブル、列の名前と型(CSV ファイルに表示される順序)、および CSV ファイル自体を指定します。CSV ファイルも Google Cloud Storage バケットに保存されます。
CSV ファイルは以下のようになります。
[オプション パラメータ] を開きます。
[デフォルトのマシンタイプを使用する] チェックボックスをオフにします。
[汎用] で次の設定を選択します。
[ジョブを実行] をクリックしてパイプラインを開始します。
このプロセスには 12~16 分ほどかかります。Dataflow が複数のステージを通過し、最初にワーカーを起動してテンプレートからパイプラインを分析する様子が表示されます。その後、マニフェスト ファイルを読み込み、CSV ファイルの処理を開始します。
Dataflow の処理が完了するまで待ってから、次に進みます。完了すると、ステータスが [成功] になります。
Cloud コンソールの左側のメニューで [Spanner] を選択して、Spanner に戻ります。Customer テーブルに移動し、[Data] を選択します。Dataflow を使用して読み込まれた新しい行がすべて表示されます。
banking-db の概要ページに戻ります。左側のメニューで [Spanner Studio] をクリックし、以下のコマンドを実行して Customer テーブルの合計行数を確認します。
Dataflow テンプレートを使用することで、大量のデータを簡単に(そして素早く)読み込むことができます。他のデータベースからダンプを読み込むことができ、同じ手順で CSV ファイルだけでなく Avro ファイルも読み込めます。Dataflow で Spanner データベースをソースとして使用し、CSV または Avro でデータをエクスポートして、プロセスを逆方向に実行することもできます。
上記で説明したように Dataflow を使用することで、データのバックアップを作成できます。しかし、Spanner にはバックアップ用の独自のツールがあります。Spanner データベースのバックアップは、Cloud コンソール、クライアント ライブラリ、gcloud コマンドから実行できます。ドキュメントについては、前のリンクをご確認ください。
このラボでは、Cloud コンソールを使用してデータベースをバックアップします。
左側のメニューから [Backup/Restore] を選択します。
[バックアップを作成] をクリックします。
ウィザードで以下の値を入力または選択します。
| 項目 | 値 |
|---|---|
| データベース名 | banking-db |
| バックアップ名 | banking-backup-001 |
| 有効期限 | 1 年 |
[作成] をクリックします。
バックアップが完了するまで約 15 分かかります。作成中は、[バックアップ] リストに表示されます。
これで、Cloud Spanner インスタンスにデータを読み込み、バックアップを実行するさまざまな方法について、しっかりと理解できました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 9 月 16 日
ラボの最終テスト日: 2025 年 9 月 16 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください