BigQuery でデータ分析情報を生成する
データ分析情報があると、データを自動的に探索して理解できます。Gemini を使用してテーブルのメタデータに基づいてクエリを生成し、パターンの検出、データ品質の評価、統計分析を行うことができます。
このドキュメントでは、データ分析情報の主な機能と、有益なデータ探索のためのクエリ生成を自動化するプロセスについて説明します。
始める前に
データ分析情報は Gemini in BigQuery を使用して生成されます。分析情報の生成を開始するには、まず Gemini in BigQuery を設定する必要があります。
必要なロール
データ分析情報を作成、管理、取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
分析情報を生成するプロジェクトに対する Dataplex DataScan 編集者(
roles/dataplex.dataScanEditor
)または Dataplex DataScan 管理者(roles/dataplex.dataScanAdmin
)分析情報を生成する BigQuery テーブルに対する BigQuery データ閲覧者(
roles/bigquery.dataViewer
)分析情報を生成するプロジェクトに対する BigQuery ユーザー(
roles/bigquery.user
)または BigQuery Studio ユーザー(roles/bigquery.studioUser
)。
生成された分析情報への読み取り専用アクセス権を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
- 分析情報を表示する BigQuery テーブルを含むプロジェクトに対する Dataplex DataScan データ閲覧者(
roles/dataplex.dataScanDataViewer
)
ロールの付与の詳細については、サービス アカウントに対するアクセスの管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。分析情報を生成するために必要な正確な権限については、[必要な権限] セクションを開いてください。
必要な権限
bigquery.jobs.create
bigquery.tables.get
bigquery.tables.getData
dataplex.datascans.create
dataplex.datascans.get
dataplex.datascans.getData
dataplex.datascans.run
API を有効にする
データ分析情報を使用するには、プロジェクトで次の API を有効にします。
Gemini for Google Cloud API の有効化の詳細については、Google Cloud プロジェクトで Gemini for Google Cloud API を有効にするをご覧ください。
データ分析情報について
データ アナリストは、新しい不慣れなテーブルを探索するときに、コールド スタートの問題に直面することがよくあります。多くの場合、この問題には、データ構造、キーパターン、データ内の関連する分析情報に関する不確実性が伴い、クエリの作成を開始するのが困難になります。データ分析情報は、テーブルのメタデータに基づいて自然言語と SQL でクエリを自動的に生成することで、コールド スタートの問題に対処します。空のクエリエディタから始めるのではなく、有益な分析情報を提供する意味のあるクエリを使用して、データ探索をすばやく開始できます。データ分析情報を使用して生成されたクエリは、公開されたデータ プロファイリングの結果を使用して根拠づけられ、精度と有用性が向上します。
分析情報の実行例
次のメタデータを持つ telco_churn
というテーブルについて考えてみましょう。
フィールド名 | タイプ |
---|---|
顧客 ID | STRING |
性別 | STRING |
加入期間 | INT64 |
InternetService | STRING |
StreamingTV | STRING |
OnlineBackup | STRING |
契約 | STRING |
テクニカル サポート | STRING |
支払い方法 | STRING |
月額料金 | FLOAT |
チャーン | BOOLEAN |
データ分析情報によってこのテーブルに対して生成されるクエリのサンプルを次に示します。
すべてのプレミアム サービスを定期購入していて、50 か月以上定期購入している顧客を特定します。
SELECT CustomerID, Contract, Tenure FROM agentville_datasets.telco_churn WHERE OnlineBackup = 'Yes' AND TechSupport = 'Yes' AND StreamingTV = 'Yes' AND Tenure > 50;
解約した顧客が最も多いインターネット サービスを特定します。
SELECT InternetService, COUNT(DISTINCT CustomerID) AS total_customers FROM agentville_datasets.telco_churn WHERE Churn = TRUE GROUP BY InternetService ORDER BY total_customers DESC LIMIT 1;
価値の高い顧客のセグメント別解約率を特定します。
SELECT Contract, InternetService, Gender, PaymentMethod, COUNT(DISTINCT CustomerID) AS total_customers, SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) AS churned_customers, (SUM(CASE WHEN Churn = TRUE THEN 1 ELSE 0 END) / COUNT(DISTINCT CustomerID)) * 100 AS churn_rate FROM agentville_datasets.telco_churn WHERE MonthlyCharges > 100 GROUP BY Contract, InternetService, Gender, PaymentMethod;
ベスト プラクティス
生成される分析情報の精度を高めるには、次のおすすめの方法を参考にしてください。
分析情報をデータ プロファイリングの結果に反映する
生成 AI において、グラウンディングとは、モデルの出力を検証可能な情報源に紐付ける仕組みを指します。生成された分析情報をデータ プロファイリングの結果に関連付けることができます。データ プロファイリングは、BigQuery テーブル内の列を分析し、一般的なデータ値やデータの分散などの一般的な統計特性を特定します。テーブルのデータ プロファイリング スキャンを作成するときに、スキャン結果を BigQuery と Dataplex Catalog に公開できます。BigQuery は、データ プロファイリングの結果を使用して、次の方法でより正確で関連性の高いクエリを作成します。
- データ プロファイリングの結果を分析して、データ内の興味深いパターン、傾向、外れ値を特定します。
- これらのパターン、傾向、外れ値に注目するクエリを生成して、分析情報を発見します。
- 生成されたクエリをデータ プロファイリングの結果と照らし合わせて検証し、クエリが有意義な結果を返すようにします。
データ プロファイリング スキャンがないと、Gemini が生成するクエリに不正確な句が含まれる可能性や、意味のない結果が生成される可能性が高くなります。
テーブルのデータ プロファイリング スキャンが最新であり、結果が BigQuery に公開されていることを確認します。
データ プロファイリングの設定を調整して、サンプリング サイズを大きくして、行と列を除外できます。新しいデータ プロファイリング スキャンを実行したら、分析情報を再生成します。
テーブルの説明を追加する
テーブルで分析する内容を記述した詳細なテーブルの説明は、Gemini in BigQuery でより関連性の高い分析情報を生成するのに役立ちます。テーブルの説明を追加したら、分析情報を再生成します。
たとえば、telco_churn
テーブルに次のような説明を追加できます。「このテーブルは、定期購入の詳細、加入期間、サービスの使用状況などの顧客離脱データを追跡し、顧客離脱行動を予測します。」
列の説明を追加する
各列の内容や、列同士の関係を説明する列の説明を追加すると、分析情報の質を高めることができます。テーブルの列の説明を更新したら、分析情報を再作成します。
たとえば、telco_churn
テーブルの特定の列に次の説明を追加できます。
Tenure
: 「お客様がサービスに加入してからの月数」Churn
: 「お客様がサービスの使用を停止したかどうか。TRUE は、お客様がサービスを使用していないことを示します。FALSE は、お客様がービスを使用していることを示します。」
BigQuery テーブルの分析情報を生成する
BigQuery テーブルの分析情報を生成するには、BigQuery Studio を使用して BigQuery のテーブル エントリにアクセスする必要があります。
Google Cloud コンソールで、[BigQuery Studio] に移動します。
[エクスプローラ] ペインで、分析情報を生成するテーブルを選択します。
[分析情報] タブをクリックします。タブが空の場合、このテーブルの分析情報はまだ生成されていません。
分析情報パイプラインをトリガーするには、[分析情報を生成] をクリックします。
分析情報が入力されるまで数分かかります。
テーブルの公開されているデータ プロファイリングの結果が利用可能な場合は、それを使用して分析情報を生成します。そうでない場合は、列名と説明に基づいて分析情報が生成されます。
[分析情報] タブで、生成されたクエリとその説明を確認します。
BigQuery でクエリを開くには、[クエリにコピー] をクリックします。
新しいクエリのセットを生成するには、[分析情報を生成] をクリックして、パイプラインを再度トリガーします。
テーブルの分析情報を生成すると、dataplex.datascans.getData
権限とテーブルへのアクセス権を持つすべてのユーザーがその分析情報を表示できます。
BigQuery 外部テーブルの分析情報を生成する
BigQuery データ分析情報は、Cloud Storage にデータがある BigQuery 外部テーブルの分析情報を生成できます。ユーザーと現在のプロジェクトの Dataplex サービス アカウントには、データを含む Cloud Storage バケットに対するストレージ オブジェクト閲覧者(roles/storage.objectViewer
)ロールが必要です。詳細については、バケットレベルのポリシーにプリンシパルを追加するをご覧ください。
BigQuery 外部テーブルの分析情報を生成するには、このドキュメントの BigQuery テーブルの分析情報の生成の説明に従います。
BigLake テーブルの分析情報を生成する
BigLake テーブルの分析情報を生成する手順は次のとおりです。
プロジェクトで BigQuery Connection API を有効にします。
BigQuery Connection を作成します。詳細については、接続を管理するをご覧ください。
作成した BigQuery 接続に関連するサービス アカウントに Storage オブジェクト閲覧者(
roles/storage.objectViewer
)IAM ロールを付与します。サービス アカウント ID は、接続の詳細から取得できます。
分析情報を生成するには、このドキュメントの BigQuery テーブルの分析情報を生成するセクションの説明に従います。
料金
この機能の料金の詳細については、Gemini in BigQuery の料金の概要をご覧ください。
割り当てと上限
この機能の割り当てと上限については、Gemini in BigQuery の割り当てをご覧ください。
制限事項
- データ分析情報は、BigQuery テーブル、BigLake テーブル、外部テーブル、ビューで使用できます。
- マルチクラウドのお客様の場合、他のクラウドのデータは利用できません。
- データ分析情報は、
Geo
またはJSON
の列タイプをサポートしていません。 - 分析情報の実行で、毎回クエリが表示されるとは限りません。関連性のより高いクエリが生成されやすくするには、分析情報パイプラインを再起動します。
- 列レベルのアクセス制御(ACL)と制限付きユーザー権限が設定されているテーブルの場合、テーブルのすべての列に対する読み取りアクセス権があれば、分析情報を生成できます。生成されたクエリを実行するには、十分な権限が必要です。
次のステップ
- Dataplex データ プロファイリングの詳細を確認する。
- BigQuery で Gemini の支援機能を使用してクエリを作成する方法を学習する。