Gemini Cloud Assist を使用する

このドキュメントでは、Gemini for Google Cloud ポートフォリオのプロダクトである Gemini Cloud Assist を使用して、BigQuery のメタデータ、ジョブ、クエリを理解し、操作する方法について説明します。また、Gemini Cloud Assist で使用できるサポートされているユースケースとサンプル プロンプトも紹介します。

始める前に

Gemini Cloud Assist を使用するには、作業中のプロジェクトまたはフォルダに対して、管理者が Gemini Cloud Assist を設定する手順を行う必要があります。

Google Cloud リソースに関する質問やリクエストをサポートするには、Gemini Cloud Assist にそれらのリソースに対する適切な Identity and Access Management(IAM)権限が必要です。Gemini Cloud Assist は、BigQuery データのクエリを求めるプロンプトが表示されると、権限を継承します。そのため、多くの場合、必要な IAM 権限はすでに付与されています。詳細については、Gemini Cloud Assist の使用のための IAM 要件をご覧ください。

Gemini Cloud Assist を使用する

  1. [BigQuery] ページに移動します。

    BigQuery に移動

  2. Google Cloud ツールバーの spark Gemini AI チャットを開くか、閉じますアイコンをクリックして、Gemini Cloud Assist チャットを開きます。

    BigQuery ツールバーの Gemini Cloud Assist ボタン。

  3. [プロンプトを入力] フィールドにプロンプトを入力します。

  4. send [送信] をクリックします。

以降のセクションでは、Gemini Cloud Assist で実行できるタスクの例と、プロンプトの例を示します。

リソースを検出する

単一のプロジェクトまたは複数のプロジェクトにわたって、データセットとテーブル リソースを検索して学習します。Gemini Cloud Assist は、Knowledge Catalog を使用して BigQuery リソースを検索します。検索は権限を使用して実行されます。たとえば、リソースのメタデータを表示する権限がない場合、そのリソースは結果に表示されません。サポートされているユースケースは次のとおりです。

  • 名前でリソースを検索するCloud アシスト パネルに、次のようなプロンプトを入力します。

    ecommerce という名前のデータセットはありますか?

  • テーブルのメタデータについて質問する。テーブル名を指定して質問することも、チャット履歴やアクティブなクエリタブで参照されているテーブルに基づいて Gemini Cloud Assist にテーブルを推測させることもできます。テーブル名を指定する場合は、完全修飾名を使用する必要があります。テーブルのスキーマや、パーティショニングやクラスタリングなどの他のメタデータについて質問できます。Cloud Assist パネルに、次のようなプロンプトを入力します。

    PROJECT_NAME.DATASET_NAME.TABLE_NAME のスキーマは何ですか?

  • 特定の情報を確認できる場所を尋ねます。[Cloud Assist] パネルに、次のようなプロンプトを入力します。

    過去 1 年間の新規ユーザーの年齢や地域などのユーザー属性はどこで確認できますか?

コードを生成する

Gemini Cloud Assist を使用すると、データをクエリして分析するのに役立つ SQL コードと Python コードを生成できます。

SQL を生成

クエリで実行する内容を説明して、SQL クエリを生成します。最適な結果を得るには、クエリするテーブルの名前を含めます。たとえば、[Cloud アシスト] パネルで、次のようなプロンプトを入力します。

直近 10 件の長距離移動に関して期間と加入者タイプがわかる SQL クエリを生成して。bigquery-public-data.san_francisco_bikeshare.bikeshare_trips テーブルを使用して。

Python コードを生成する

実行する内容を説明して Python コードを生成します。たとえば、Cloud Assist パネルで、次のプロンプトを入力して、BigQuery マジック構文を使用して一般公開データセットから penguins テーブルをクエリするように Gemini に相談できます。

BigQuery マジックを使用して bigquery-public-data.ml_datasets.penguins テーブルをクエリする Python コードを生成します。

クエリをスケジュール設定する

プロンプトで次の詳細を指定して、クエリをスケジュールします。

  • スケジュール(毎週月曜日の午後 5 時、隔週火曜日の午前 2 時など)
  • 表示名
  • 宛先テーブル ID と宛先データセット ID
  • 開始時間
  • 終了時間
  • 書き込み処理(WRITE_EMPTYWRITE_APPENDWRITE_TRUNCATE など)

たとえば、[Cloud アシスト] パネルに、次のようなプロンプトを入力できます。

Schedule the query open in the editor to run daily. The display name
should be "test query". Write the results to a new table in mydataset
called scheduled_results. Use WRITE_APPEND. Start it now.

データリネージをトレースする

Gemini Cloud Assist を使用して、データ リネージを探索して分析できます。データ依存関係の把握、構造変更の影響の評価、複雑なデータフローの要約に役立ちます。リネージを分析するには、次の機能領域について Gemini Cloud Assist に質問します。

  • リネージの統計情報を取得する。Gemini Cloud Assist に、関連するアセット、データセット、プロジェクトの総数など、リネージ グラフに関する定量的なデータをリクエストします。Cloud Assist パネルに、次のようなプロンプトを入力します。

    • Customer_Master には上流アセットがいくつありますか?
    • Customer_Interaction_Summary の上流リネージに関与している BigQuery データセットの数を教えて
    • Marketing_Interaction の上流グラフにある一意のアセットの数をすべて提供します。
  • 直接の依存関係を分析する。1 ホップの関係を分析して、特定の資産の直接の親(ソース)または直接の子(コンシューマー)を特定します。Cloud Assist パネルに、次のようなプロンプトを入力します。

    • Customer_Master の直接のソースは何ですか?
    • Card_Master テーブルの直接コンシューマーは何ですか?
    • Web_Session_Validated の直接的なソースは何ですか?
  • ダウンストリームへの影響を評価する。アセットの変更または削除によるダウンストリームへの影響を把握します。これらのプロンプトは、深さ(ホップ数)または特定のプロジェクト境界でスコープ設定できます。Cloud Assist パネルで、次のようなプロンプトを入力します。

    • Customer_Master を削除した場合、影響を受けるアセットを教えてください。
    • Customer_Master から 2 ホップ以内のダウンストリーム アセットを表示して。
    • Customer_Master を変更すると、data-lineage-manual-tests プロジェクトのアセットに影響しますか?
  • ルートソースと最終的な宛先を特定します。中間変換ステップをバイパスして、データの最終的な起点または最終的な宛先を見つけます。Cloud Assist パネルで、次のようなプロンプトを入力します。

    • Customer_Master の最終的なデータソースはすべて何ですか?
    • 中間テーブルを除き、Transaction_Data_Enriched の元のデータソースは何ですか?
    • Card_Data_Validated からのデータの最終的な宛先は何ですか?
  • アセット間のデータフローをトレースする。Gemini Cloud Assist に、2 つの既知のアセット間の特定の接続、パス、データフローの説明を求めます。[Cloud Assist] パネルに、次のようなプロンプトを入力します。

    • Customer_Master は Customer_Data_Raw にどのように依存していますか?
    • Customer_Data_Raw から Customer_Profile_Snapshot へのデータフローを教えてください。
    • Customer_Data_Raw と Alert_Fact の間にホップはいくつありますか?
  • アセットタイプまたは名前でリネージをフィルタする。特定のタイプの接続アセット(BigQuery ビューや Looker ダッシュボードなど)や、特定の命名パターンに一致するアセットを検索します。Cloud Assist パネルに、次のようなプロンプトを入力します。

    • Customer_Master は BigQuery ビューで使用されていますか?
    • Customer_Master の下流に Looker ダッシュボードはありますか?
    • Customer_Master の上流テーブルのうち、名前に「Country」が含まれているものはどれですか?
  • リネージ グラフを要約する。特定の一覧やカウントではなく、アセットのリネージの自然言語による概要をリクエストします。[Cloud Assist] パネルに、次のようなプロンプトを入力します。

    • Web_Session_Validated に依存するアセットの概要を教えて。
    • このテーブルのダウンストリーム リネージを要約します。
    • bigquery:PROJECT_NAME.DATASET_NAME のリネージとは何ですか?

ジョブを分析する

プロジェクトで実行されたジョブ(個人ジョブ履歴やプロジェクト ジョブ履歴など)の詳細を確認して、次のユースケースをサポートします。

  • 長時間実行されるクエリをデバッグする。ジョブの現在のステータスと、スロットの競合、スキャンされた行数の多さ、データ量の多さなど、予想よりも時間がかかっている理由を確認します。Cloud Assist パネルに、次のようなプロンプトを入力します。

    このジョブに時間がかかっているのはなぜですか?JOB_ID

  • 失敗したジョブの原因を分析する。特定のクエリが失敗した理由を確認します。[Cloud Assist] パネルに、次のようなプロンプトを入力します。

    JOB_ID が失敗したのはなぜですか?

  • リソース消費量が多いクエリを見つける。処理された推定バイト数に基づいて、最もコストの高いクエリを確認します。[Cloud Assist] パネルに、次のようなプロンプトを入力します。

    過去 2 日間に実行したクエリのうち、最も費用のかかったクエリを 3 つ教えてください。

BigQuery を管理する

ジョブ エクスプローラでは、Gemini Cloud Assist とチャットして、パフォーマンスのモニタリング、容量の分析、費用の最適化を行うことができます。たとえば、Gemini Cloud Assist を使用して次のタスクを行うことができます。

  • 予約と容量を分析する。自然言語を使用してコンピューティング使用率をモニタリングし、ボトルネックを特定します。Cloud Assist パネルで、次のようなプロンプトを入力できます。

    • 過去 24 時間の予約のパフォーマンスを分析して。
    • 「本番環境」予約を使用している上位のプロジェクトとユーザーを表示して。
    • 現在の容量はピーク時の負荷に十分ですか?
  • ジョブをモニタリングして比較する。ワークロードを比較して、パフォーマンスの変化を把握します。ボトルネックと最適化の機会をハイライト表示するジョブ パフォーマンスの概要を取得したり、さまざまなジョブの実行の詳細を直接比較して、回帰や改善点を特定したりできます。

  • ワークロード管理の構成。自然言語を使用して、割り当てやコミットメントなどの BigQuery 予約設定を検査して管理します。この機能により、自動スケーリング構成、アイドル スロットの管理、エディション固有の詳細を確認できます。Cloud アシスト パネルで、次のようなプロンプトを入力できます。

    • 自動スケーリングを使用する予約を一覧表示します。
    • PROJECT_ID の課題を取得して。
    • 予約 RESERVATION_NAME の構成は何ですか?
    • コミットメントを一覧表示します。
    • アイドル状態のスロットを無視するように構成されている予約の数はどれくらいですか?
    • エディション Enterprise のすべての予約を一覧表示します。
    • 現在のすべての予約を一覧表示し、それぞれの slot_capacity と autoscale_max_slots を表示します。
  • 上位リソースの特定。BigQuery リソースの主なユーザーを特定します。アシスタントは、特定のプロジェクトまたは予約内のスロット使用率に基づいて、上位のユーザーとジョブを特定できます。このアシスタントは、ジョブ、ユーザー、プロジェクト、予約などの重要な BigQuery リソース全体にわたって包括的な管理サポートを提供します。スロット使用率やジョブの所要時間などの主要なパフォーマンス指標を分析することで、アシスタントはモニタリングを効率化し、リソース割り当てを最適化するための実用的な分析情報を提供します。Cloud Assist パネルで、次のようなプロンプトを入力できます。

    • プロジェクトでスロット使用量が最も多い上位のユーザーは誰ですか?
    • 過去 1 時間に予約 RESERVATION_NAME で最も多くのスロットを消費した上位のジョブを表示して。

次のステップ