Gemini Cloud Assist を使用する

このドキュメントでは、 Gemini Cloud Assist( Gemini for Cloud de Confiance by S3NS ポートフォリオの プロダクト)を使用して、 BigQuery のメタデータ、ジョブ、クエリを理解して操作する方法について説明します。Gemini Cloud Assist で使用できるサポート対象のユースケースとサンプル プロンプトを示します。

始める前に

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

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

Gemini Cloud Assist を使用する

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

    BigQuery に移動

  2. Cloud de Confiance ツールバーの spark Open or close Gemini AI chat をクリックして、Gemini Cloud Assist チャットを開きます。

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

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

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

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

リソースを検出する

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

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

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

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

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

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

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

コードを生成する

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

SQL を生成する

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

直近 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 Assist] パネルに、次のようなプロンプトを入力します。

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 を削除すると、どのアセットに影響しますか?]
    • 2 ホップ以内の Customer_Master のダウンストリーム アセットを表示してください。
    • 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 時間の予約のパフォーマンスを分析してください。
    • [「production」予約を使用している上位のプロジェクトとユーザーを表示してください。]
    • [現在の容量はピーク時の負荷に十分ですか?]
  • ジョブをモニタリングして比較する 。ワークロードを比較して、パフォーマンスの変化を把握します。ボトルネックと最適化の機会をハイライト表示するジョブ パフォーマンスの概要を取得したり、異なるジョブの実行の詳細を直接比較して、回帰や改善を特定したりできます。

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

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

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

クエリを最適化する

Gemini Cloud Assist を使用して SQL クエリを分析し、最適化するための推奨事項を受け取ります。Gemini Cloud Assist はクエリ構造を分析し、可能であればクエリ スロット時間を短縮するための改善策を提案します。次のいずれかの方法でクエリを最適化できます。

  • クエリエディタで [最適化] をクリックします。このボタンは、 BigQuery エディションを使用している場合にのみ使用できます。

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

      BigQuery に移動

    2. クエリエディタで SQL クエリを入力して実行します。

    3. クエリエディタのツールバーで [最適化] をクリックします。 Gemini Cloud Assist は実行されたクエリを分析し、[Cloud Assist] パネルに推奨事項を表示します。

  • Cloud Assist パネルを使用します。アクティブなタブでクエリを開くか、SQL コードを [Cloud Assist] パネルに直接貼り付けて、最適化をリクエストできます。この機能は、容量料金(BigQuery エディション)を使用しているか、オンデマンド料金を使用しているかに関係なく、すべてのお客様が利用できます。

次のステップ