BigQuery でデータ分析情報を生成する

サポートについては、dataplex-data-insights-help@google.com までメールでお問い合わせください。

データ分析情報があると、データを自動的に探索して理解できます。Gemini を使用してテーブルのメタデータに基づいてクエリを生成し、パターンの検出、データ品質の評価、統計分析を行うことができます。

このドキュメントでは、データ分析情報の主な機能と、有益なデータ探索のためのクエリ生成を自動化するプロセスについて説明します。

データ分析情報について

データ アナリストは、事前知識がほとんどまたはまったくない状態で新しいデータセットを探索する場合に、データ探索がコールド スタートになる問題に直面します。多くの場合、この問題には、データ構造、キーパターン、関連する分析情報に関する不確実性が伴います。メタデータに基づくクエリの自動生成を使用することで、データ分析情報によってデータ探索でのコールド スタートの問題が解消されます。分析情報は、情報に基づく意思決定とデータの詳細な分析に役立つ貴重なヒントを提供します。空白の状態から始めるのではなく、有益な分析情報を提供する意味のあるクエリを使用して、データ探索をより迅速に開始できます。

データ分析情報を使用して生成されたクエリは、公開されたプロファイル スキャン データを使用してグラウンディングされたものとなります。データ分析情報は、公開されたプロファイル スキャン データを使用してクエリを作成し、効率的で信頼性の高い情報検索を実現します。これにより、データ分析プロセスの立ち上がりが大幅に加速され、より明確な方向性と目的を持ってデータを掘り下げることができます。

データ分析情報は、見慣れないデータセットを操作する際の一般的な課題を解決するガイドツールとして機能し、データ探索中に情報に基づいた意思決定を行い、パターンをより迅速に見つけ出すことができます。

分析情報の実行例

次のメタデータを持つ telco_churn というテーブルについて考えてみましょう。

フィールド名 タイプ
顧客 ID STRING
性別 STRING
在職期間 INT64
電話サービス STRING
オンライン バックアップ STRING
依存者 BOOLEAN
契約 STRING
テクニカル サポート STRING
支払い方法 STRING
月額料金 FLOAT
チャーン BOOLEAN

データ分析情報によってこのテーブルに対して生成されるクエリのサンプルを次に示します。

  • すべてのプレミアム サービスを定期購入していて、50 か月以上定期購入している顧客を特定します。

    SELECT
      CustomerID,
      Contract,
      Tenure
    FROM
      agentville_datasets.telco_churn
    WHERE
      OnlineSecurity = 'Yes'
      AND OnlineBackup = 'Yes'
      AND DeviceProtection = 'Yes'
      AND TechSupport = 'Yes'
      AND StreamingTV = 'Yes'
      AND StreamingMovies = '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;
    

プロファイル スキャンを使用した分析情報のグラウンディングについて

データ分析情報は、公開されたプロファイル スキャン データを使用して、生成されたクエリの精度を高めます。プロファイル スキャン データは、データセットのデータ分布、データ型、統計的な概要に関する有用な情報を提供します。

プロファイル スキャン データについて

プロファイル スキャン データは、テーブルの内容を記述するメタデータです。これには次の情報が含まれます。

  • 列のデータ型
  • 最小値と最大値
  • 値の分布
  • null または欠落している値
  • 上位の値
  • 固有の値とその頻度

データ分析情報はこの情報を使用して、特定のテーブルに合わせてクエリを生成します。

プロファイル スキャン データを使用してデータ分析情報でクエリのグラウンディングを行う方法

データ分析情報では、プロファイル スキャン データを使用して、データセット内の実際のデータ分布とパターンに基づくクエリが作成されます。このプロセスには、次のステップが含まれます。

  • プロファイル スキャン データを分析して、データ内の興味深いパターン、傾向、外れ値を特定する
  • これらのパターン、傾向、外れ値に注目するクエリを生成して、分析情報を発見する
  • 生成されたクエリをプロファイル スキャン データに対して検証し、意味のある結果が返されるようにする

データ分析情報を最大限に活用するためのヒント

グラウンディングされたクエリを使用すると、正確で関連性の高い、実行可能な分析情報を取得できるため、データドリブンの意思決定をより適切に行うことができます。プロファイル スキャン データを使用してグラウンディングされたクエリを最大限に活用するには、次のヒントを参考にしてください。

  • テーブルに最新の公開済みプロファイル スキャン データが含まれていることを確認します。これにより、データ分析情報からより正確で関連性の高いクエリが生成されます。
  • 生成されたクエリを確認し、プロファイル スキャン データがどのようにグラウンディングされているかを確認します。これにより、結果を解釈して、データに関する詳細な分析情報を得ることができます。
  • 生成されたクエリが関連性がない、または有用でない場合は、テーブルのプロファイル スキャン設定を調整するか、データ分析情報に追加のコンテキストを指定します。

料金

BigQuery データ分析情報機能は、プレビュー期間中は課金されません。

制限事項

  • データ分析情報は、BigQuery テーブル、BigLake テーブル、外部テーブル、ビューで使用できます。
  • マルチクラウドのお客様の場合、他のクラウドのデータは利用できません。
  • データ分析情報は、Geo または JSON の列タイプをサポートしていません。
  • 分析情報の実行で、毎回クエリが表示されるとは限りません。関連性のより高いクエリが生成されやすくするには、分析情報パイプラインを再起動します。
  • 列レベルのアクセス制御(ACL)と制限付きユーザー権限が設定されているテーブルの場合、テーブルのすべての列に対する読み取りアクセス権があれば、分析情報を生成できます。生成されたクエリを実行するには、十分な権限が必要です。

始める前に

必要なロールと権限

データ分析情報の使用に必要な権限を取得するには、プロジェクトに次の IAM ロールを付与するよう管理者に依頼してください。

  • 分析情報パイプラインを実行します。

    • 分析情報スキャンをトリガーするプロジェクトのサービス アカウントに対する Cloud AI Companion ユーザー(roles/cloudaicompanion.user)の IAM ロール

      サービス アカウントのメールアドレスは次の形式です。

      service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com

    • プロジェクトに対する dataplex.datascans.create 権限

    • BigQuery テーブルに対する bigquery.tables.getData 権限

    • テーブルのすべての列に対する読み取りアクセス権

  • 生成された分析情報を表示します。

    • 生成されたデータスキャンの dataplex.datascans.getData
  • プロファイル スキャンを使用してクエリのグラウンディングを行います。

    • サービス アカウント(service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com)に対する BigQuery DataScan データ閲覧者(roles/dataplex.dataScanDataViewer)の IAM ロール

    • 公開されたデータ プロファイル スキャンに対する dataplex.datascans.getData 権限

ロールの付与の詳細については、サービス アカウントに対するアクセスの管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

API を有効にする

データ分析情報を使用するには、プロジェクトで次の API を有効にします。

Gemini API を有効にする方法については、Google Cloud プロジェクトで Gemini Code Assist を有効にするをご覧ください。

BigQuery テーブルの分析情報を生成する

BigQuery テーブルの分析情報を生成するには、BigQuery Studio を使用して BigQuery のテーブル エントリにアクセスする必要があります。

  1. Google Cloud コンソールで、[BigQuery Studio] に移動します。

    BigQuery Studio に移動

  2. BigQuery でテーブル エントリを検索します。

  3. [分析情報] タブをクリックします。タブが空の場合、このテーブルの分析情報はまだ生成されていません。

  4. 分析情報パイプラインをトリガーするには、[分析情報を生成] をクリックします。

    分析情報が表示されるまで 5~10 分かかります。

    テーブルの公開プロファイル スキャンにアクセスできる場合は、それを使用して包括的な分析情報を生成します。そうでない場合は、列名とそれぞれの説明に基づいて分析情報が作成されます。このアプローチにより、プロファイル スキャンを利用できるかどうかに関係なく、分析情報を取得できます。

  5. [分析情報] タブで、生成されたクエリとその説明を確認します。

  6. BigQuery でクエリを開くには、[BigQuery で開く] をクリックします。

  7. 新しいクエリのセットを生成するには、[分析情報を生成] をクリックして、パイプラインを再度トリガーします。

BigQuery 外部テーブルの分析情報を生成する

BigQuery データ分析情報は、同じ Google Cloud プロジェクトにある BigQuery 外部テーブルをサポートしています。BigQuery テーブルが、別の Google Cloud プロジェクトの Cloud Storage に保存されているデータを参照している場合、分析情報の生成は失敗します。

BigQuery 外部テーブルの分析情報を生成するには、このドキュメントの BigQuery テーブルの分析情報の生成の説明に従います。

BigLake テーブルの分析情報を生成する

BigLake テーブルの分析情報を生成する手順は次のとおりです。

  1. プロジェクトで BigQuery Connection API を有効にします。

    BigQuery Connection API を有効にする

  2. BigQuery Connection を作成します。詳細については、接続を管理するをご覧ください。

  3. 作成した BigQuery 接続に関連するサービス アカウントに Storage オブジェクト閲覧者(roles/storage.objectViewer)IAM ロールを付与します。

    サービス アカウント ID は、接続の詳細から取得できます。

  4. 分析情報を生成するには、このドキュメントの BigQuery テーブルの分析情報を生成するセクションの説明に従います。

次のステップ