ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

BigQuery ワークロードをモニタリングする

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

概要

適切なインフラストラクチャを用意することなく大規模なデータセットを保存してクエリを実行すると、多大な時間と費用がかかってしまう可能性があります。BigQuery は、サーバーレスでフルマネージドのエンタープライズ データ ウェアハウスです。Google のインフラストラクチャの処理能力を活用して、高速かつ費用対効果の高いクエリを実現します。BigQuery では、ストレージ リソースとコンピューティング リソースが分離されているため、組織のニーズや要件に応じて柔軟にデータを保存し、クエリを実行できます。

BigQuery では、Google Cloud コンソールの BigQuery クエリ検証ツールbq コマンドライン ツールのドライラン フラグ、Google Cloud 料金計算ツールAPI とクライアント ライブラリなど、さまざまなツールを使用してクエリのリソース使用量と費用を簡単に見積もることができます。

このラボでは、BigQuery のクエリ検証ツールと bq コマンドライン ツールを使用して、クエリを実行する前に処理されるデータ量を推定します。また、SQL クエリと API を使用して、クエリが正常に実行された後のリソース使用量も特定します。

目標

このラボでは、次の方法について学びます。

  • BigQuery のクエリ検証ツールを使用して、クエリによって処理されるデータ量を推定する。
  • SQL クエリと API を使用して、実行されたクエリのスロット使用量を特定する。
  • クエリのドライランを実行して、クエリによって処理されるデータ量を推定する。

設定と要件

ラボの設定

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. シークレット ウィンドウを使用して Google Skills にログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。 一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud コンソールにログインする際に使用します。

  5. [Google コンソールを開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。 他の認証情報を使用すると、エラーや料金が発生します。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

ラボを開始してコンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側のパネルには、このラボで使用する必要がある一時的な認証情報が表示されます。

    [認証情報] パネル

  2. ユーザー名をコピーし、[Google Console を開く] をクリックします。 ラボでリソースが起動し、別のタブで [アカウントの選択] ページが表示されます。

    注: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
  3. [アカウントの選択] ページで [別のアカウントを使用] をクリックします。[ログイン] ページが開きます。

    [別のアカウントを使用] オプションがハイライト表示されている、アカウントのダイアログ ボックスを選択します。

  4. [接続の詳細] パネルでコピーしたユーザー名を貼り付けます。パスワードもコピーして貼り付けます。

注: 認証情報は [接続の詳細] パネルに表示されたものを使用してください。Google Skills の認証情報は使用しないでください。請求が発生する事態を避けるため、Google Cloud アカウントをお持ちの場合でも、このラボでは使用しないでください。
  1. その後次のように進みます。
  • 利用規約に同意します。
  • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
  • 無料トライアルには登録しないでください。

しばらくすると、このタブで Cloud コンソールが開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 Cloud コンソール メニュー

Google Cloud Shell の有効化

Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

    ハイライト表示された Cloud Shell アイコン

  2. [続行] をクリックします。

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。

Cloud Shell ターミナルでハイライト表示されたプロジェクト ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  • 次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list

出力:

Credentialed accounts: - @.com (active)

出力例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project =

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: gcloud ドキュメントの全文については、 gcloud CLI の概要ガイド をご覧ください。

タスク 1. クエリ検証ツールを使用して、処理されるデータ量を推定する

Google Cloud コンソールでクエリを入力すると、BigQuery のクエリ検証ツールがクエリ構文を確認し、クエリによって処理されるバイト数を推定します。

このタスクでは、BigQuery 一般公開データセット プログラムによって管理されている一般公開データセット(New York Citi Bikes)をクエリします。このデータセットを使用して、クエリ検証ツールで SQL クエリを検証する方法と、クエリを実行する前にクエリによって処理されるデータ量を推定する方法を学びます。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー)で、[分析] の [BigQuery] をクリックします。

[Cloud コンソールの BigQuery へようこそ] メッセージ ボックスが開きます。このメッセージ ボックスには、クイックスタート ガイドとリリースノートへのリンクが表示されます。

  1. [完了] をクリックします。

  2. SQL ワークスペースのツールバーで、[エディタ] タブをクリックして SQL クエリエディタを開きます。

bq_editor.PNG

  1. BigQuery クエリエディタに次のクエリを貼り付けます。ただし、クエリの実行はしないでください
SELECT COUNT(*) FROM `bigquery-public-data.new_york_citibike.citibike_trips` WHERE start_station_name LIKE '%Broadway%';

このクエリを実行すると、citibike_trips テーブルの start_station_name 列に「Broadway」というテキストが含まれる駅名の数が返されます。

  1. クエリエディタのツールバーにある丸いチェック アイコンは、クエリ検証ツールを起動してクエリが有効であることを確認するものです。

クエリエディタでコードを追加または変更すると、BigQuery がクエリ検証ツールを自動的に実行します。

クエリが有効か無効かに応じて、クエリエディタの上に緑色または赤色のチェックが表示されます。クエリが有効な場合は、クエリの実行を選択した場合に処理されるデータ量も検証ツールに表示されます。

bq_unsaved_query.PNG

クエリ検証ツールによると、このクエリを実行すると 1.06 GB が処理されます。

  1. [実行] をクリックします。

このクエリは、start_station_name という名前の列に「Broadway」というテキストが含まれるレコードの数(5,414,611)を返します。

bq_query_results.PNG

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 クエリによって処理されるデータ量を推定する

タスク 2. SQL クエリを使用してスロットの使用状況を特定する

BigQuery では スロット(仮想 CPU)を使用して SQL クエリが実行され、クエリのサイズと複雑さに応じて、クエリに必要なスロット数が自動的に計算されます。Google Cloud コンソールでクエリを実行すると、その結果と、クエリの実行に使用されたリソース量の概要が表示されます。

このタスクでは、前のタスクで実行したクエリのジョブ ID を特定し、新しい SQL クエリで使用して、クエリジョブに関する追加情報を取得します。

  1. [クエリ結果] で [ジョブ情報] タブをクリックします。

bq_job_information.PNG

  1. ジョブ ID の行を特定し、指定された値を使用してプロジェクト ID とジョブ ID を選択します。

たとえば、値 qwiklabs-gcp-01-5f4dee7a15a3:US.bquxjob_403a14df_185dd37737a は、プロジェクト ID で始まり、ジョブが実行されたロケーションが続き、ジョブ ID で終わります。:US. の構文は、ジョブが実行された場所を識別します。

プロジェクト ID は最初の部分 qwiklabs-gcp-01-5f4dee7a15a3:US. の前)で、ジョブ ID は最後の部分 bquxjob_403a14df_185dd37737a:US. の後)です。

: 値全体をテキスト エディタまたはドキュメントにコピーすると、プロジェクト ID とジョブ ID を選択しやすくなります。

bq_job_id.PNG

  1. クエリエディタで、次のクエリをコピーして貼り付けます。ここで、'YOUR_ID' はジョブ ID('bquxjob_403a14df_185dd37737a' など)に置き換えます。
SELECT query, reservation_id, CONCAT('*****@',REGEXP_EXTRACT(user_email,r'@(.+)')) AS user_email, total_bytes_processed, total_slot_ms, job_stages FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT WHERE job_id = 'YOUR_ID';

bq_second_query.PNG

このクエリを実行すると、Citi Bikes 一般公開データセットで以前に実行されたクエリジョブのスロット使用量が返されます。

  1. [実行] をクリックします。

このクエリの出力には、クエリ ステージと各ステージに関連付けられたスロット使用率を示すテーブルが表示されます。

クエリの個々のタスクは 1 つのスロットで実行されるため、job_stages.completed_parallel_inputs という名前の列の値の合計は、クエリの実行に使用されたスロットの合計数です。

ただし、1 つのスロットを割り当てた最初のタスクを完了すると、別のタスクを完了するためにスロットを再割り当てできます。

そのため、クエリの実行に使用された合計スロット時間(total_slot_ms という名前の列に表示される値)を把握することも重要です。具体的には、クエリジョブ全体とクエリの各ステージのスロット時間がミリ秒単位(ms)で提供されます。これは、そのステージの完了に使用されたスロット時間の量を示します。

たとえば、クエリが 150 個のタスクを完了しても、各タスクの実行が速い場合、クエリは実際には 150 スロットではなく 100 スロットなどの少ない数のスロットを使用することがあります。

bq_job_stages_computed_parallel_inputs.PNG

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 SQL クエリを使用してスロットの使用状況を特定する

タスク 3. API 呼び出しを使用してスロットの使用状況を確認する

API を使用して、特定のクエリジョブに関する情報を取得することもできます。BigQuery では、サーバーにリクエストを送信して API を直接使用するか、C#、Go、Java、Node.js、PHP、Python、Ruby などの任意の言語でクライアント ライブラリを使用できます。

このタスクでは、Google APIs Explorer を使用して BigQuery API をテストし、前のタスクで実行したクエリのスロット使用量を取得します。

  1. 新しいシークレット ブラウザタブで、jobs.get メソッドの BigQuery API ページに移動します。

  2. [Try this method] ウィンドウで、前のタスクで特定したプロジェクト IDジョブ ID を入力します。

たとえば、先述の値ではプロジェクト ID は qwiklabs-gcp-01-5f4dee7a15a3、ジョブ ID は bquxjob_403a14df_185dd37737a です。

bq_api_method.PNG

  1. [Execute] をクリックします。

ログインの確認を求められたら、前のタスクで Google Cloud にログインするために使用した受講者のユーザー名()を選択します。

  1. 各ステージとクエリジョブ全体の API レスポンスを確認します。

最初のステージの完了した並列入力の値を確認するには、[statistics] > [query] > [queryPlan] > [name: S00] > [completedParallelInputs] までスクロールします。

bq_api_response.PNG

クエリジョブ全体で使用された合計スロット数を確認するには、結果の最後までスクロールして、totalSlotMs の値を確認します。

bq_api_response_total_slot_time.png

タスク 4. クエリのドライランを完了して、処理されるデータ量を見積もる

bq コマンドライン ツールでは、--dry_run フラグを使用して、クエリを実行する前にクエリで読み取られるバイト数を見積もることができます。また、API やクライアント ライブラリを使用してクエリジョブを送信する場合は、dryRun パラメータを使用できます。クエリのドライランはクエリスロットを使用しないため、ドライランの実行に対しては課金されません。

このタスクでは、Cloud Shell の bq コマンドライン ツールを使用して、クエリのドライランを完了する方法を学習します。

  1. Cloud Shell で、次のコマンドを実行します。
bq query \ --use_legacy_sql=false \ --dry_run \ 'SELECT COUNT(*) FROM `bigquery-public-data`.new_york_citibike.citibike_trips WHERE start_station_name LIKE "%Lexington%"'

出力には、クエリを実行して結果を取得する前にクエリで処理されると推定されるバイト数が表示されます。

Query successfully validated. Assuming the tables are not modified, running this query will process 1135353688 bytes of data.

クエリでどの程度のバイト数が処理されるかがわかり、ワークフローの次のステップを決定するために必要な情報が得られました。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 クエリのドライランを完了する

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Skills から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2026 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。