BigQueryのメタデータ自動生成を解説

記事タイトルとURLをコピーする

G-genの杉村です。BigQuery テーブルのデータをスキャンして、AI がテーブルのメタデータ(テーブルとカラムの説明)を自動生成するメタデータ自動生成機能を解説します。

はじめに

メタデータの自動生成

BigQuery には、テーブルのデータをスキャンして、AI がテーブルのメタデータ(テーブルとカラムの説明)を自動生成するメタデータ自動生成機能があります。

この機能を用いることで、テーブルやカラムに人間が1つ1つ手作業でメタデータを付記する労力が改善されます。

なお2025年11月現在、当機能では追加の手順を行うことにより、日本語でのメタデータ生成が可能です。また2025年11月現在、当機能は API 経由での生成には対応していません。複数のテーブルに対して、API リクエストや SDK 経由で生成を実行する機能改善が期待されます。

テーブルのメタデータとは

データ分析基盤において、メタデータは非常に重要です。メタデータは可視化や分析のために必要なデータを人間が検索するために必要なほか、AI エージェントが自律的にデータを探し出したり、解釈するためにも利用されます。

メタデータが無いと、データが必要になったときに、過去の設計書を掘り起こしたり、システムの担当者に聞いて回ったり、あるいは Google Cloud の管理コンソールでプロジェクトを1つ1つ開き、BigQuery のテーブルや Cloud Storage のファイルをしらみつぶしに探したりといった、非常に手間のかかる作業が発生します。

BigQuery においては、テーブルやそのテーブルが持つ各カラム(列)に説明(Description)を追記することが可能です。この説明はビジネスメタデータとして機能し、組織のメンバーが必要なデータを見つけ出すために役立ちます。BigQuery テーブルやカラムの説明は、Dataplex Universal Catalog(旧称 Dataplex Catalog)に自動的に登録され、データカタログとして利用することができます。

Dataplex Universal Catalog(旧称 Dataplex Catalog)については、以下の記事も参照してください。

blog.g-gen.co.jp

仕様

分析情報からのメタデータ自動生成

BigQuery のメタデータ自動生成は、データ分析情報(Data insights)機能の一部です。データ分析情報は Gemini in BigQuery の一部であり、生成 AI モデル Gemini を使ってテーブルの分析情報を得るための SQL クエリなどを生成する機能です。

プロジェクトで Dataplex API、BigQuery API、Gemini for Google Cloud API を有効化して、テーブルに対して分析情報の生成を指示するだけで、生成を行うことができます。

生成された分析クエリ

このデータ分析情報の生成を指示すると、メタデータ(説明)の自動生成も同時に行われます。生成された説明は、テーブルに適用する前に目視で確認し、修正してから適用することができます。

生成された説明(Description)

料金

メタデータの自動生成は Gemini in BigQuery の一部であることから、Gemini in BigQuery の料金体系が適用されます。

2025年11月現在、メタデータの自動生成は無料で利用することができます。ただし、BigQuery Standard Edition を使っている場合は利用できません。デフォルト設定であるオンデマンド課金モードでは、利用可能です。

ただし、メタデータの生成を始めとする Gemini in BigQuery の利用回数には、1日あたりの制限(クォータ)があります。上限はスロットやスキャン量に応じて動的に決まります。詳細は以下を参照してください。

制限事項

当機能の制限事項は、以下のとおりです。

  • デフォルトでは英語の説明が生成される(日本語での生成手順は後述)
  • BigQuery コンソール(BigQuery Studio)上からの操作のみ
  • Geo 型、JSON 型の列には非対応
  • 1テーブルにつき最大350カラムまで説明を生成可能

手順

データ分析情報の生成

まずは、テーブルのデータ分析情報(Data insights)を生成します。今回は、パブリックデータセット bigquery-public-data.samples.github_nested を自分のプロジェクトに複製して、このテーブルを対象とします。

BigQuery コンソール(BigQuery Studio)で対象テーブルを表示して、「分析情報」タブを選択します。

「分析情報」タブ

プロジェクトで必要な API が有効化されていない場合、ここには API の有効化を促す表示がされます。表示に従い、API を有効化してください。

API を有効化されると、青いボタン「Generate insights for free」(無料で分析情報を生成)が表示されます。これをクリックします。

生成された説明を確認

数分後、生成された分析情報が表示されます。下部には分析のための SQL クエリが表示されています。

分析情報の生成結果

上部に表示されている「テーブルの説明」ブロックの中にあるリンク「列の説明を表示」をクリックすると、自動生成されたテーブルの説明とカラムの説明が表示されます。

生成された説明(Description)

テーブルへの保存

「テーブルの説明」の下部にある「詳細に保存」をクリックすると、テーブルの説明を保存前に編集できます。任意の文章に編集したあと、「Save」ボタンを押下すると、テーブルに説明が保存されます。

テーブルの説明

「列の説明」の下部にある「スキーマに保存」を押下すると、同様に列の説明を編集できます。任意の文章に編集したあと、「保存」ボタンを押下すると、テーブルのカラムに説明が保存されます。

列の説明

結果

上記の手順では、パブリックデータセット bigquery-public-data.samples.github_nested を複製してメタデータ生成の対象にしました。同テーブルの仕様は、以下のとおりです。

スキーマ

列名
repository RECORD
actor_attributes RECORD
created_at STRING
public BOOLEAN
actor STRING
payload RECORD
url STRING
type STRING

規模

項目
行数 2,541,639
合計論理バイト 1.58 GB
合計物理バイト数 471.78 MB

上記の表では省略していますが、RECORD 型の列の中には、多くのネストされた列があります。

このテーブルに対しては、以下のようなテーブルの説明が自動的に生成されました。

This table stores events from the GitHub platform. It captures actions performed by users, such as creating pull requests, commenting on commits, or pushing code. The table provides details about the actor performing the action, the type of event, and related data. It allows for analysis of activity trends, user contributions, and repository changes within the GitHub ecosystem.

Gemini による日本語訳は、以下のとおりです。

このテーブルには、GitHubプラットフォームで発生したイベントが保存されています。ユーザーによるプルリクエストの作成、コミットへのコメント、コードのプッシュといったアクションを捉えます。テーブルには、アクションを実行したユーザー(アクター)、イベントの種類、関連データなどの詳細が含まれており、GitHubエコシステムにおける活動の傾向、ユーザーのコントリビューション、リポジトリの変更履歴などを分析できます。

この説明は概ね、データの内容を表しているといえます。

また、列の説明も概ね正しいものでした。なお、ネストされた列の説明もすべて生成されていました。

ネストされた列も説明が生成された

日本語での生成

BigQuery のメタデータの自動生成機能は、日本語を含む他言語に対応しています。ただし、デフォルトの出力は英語であり、他の言語で出力するには、事前にテーブルの説明(Description)に「Generate table and column descriptions in Japanese.」のようにプロンプトを埋め込んでおいてから、データ分析情報(Data insights)の生成を実行する必要があります。

以下のように、テーブルの説明(Description)に、日本語で説明を生成するように指示するプロンプトを事前に記述しておきます。

テーブルの説明(Description)にプロンプトを記述

その後、データ分析情報(Data insights)を生成します。既に実行済みの場合は、以下のボタンで再度、生成を指示できます。

データ分析情報(Data insights)を再度生成

以下のように、説明が日本語で生成されました。

日本語で生成された説明(Description)

杉村 勇馬 (記事一覧)

執行役員 CTO

元警察官という経歴を持つ IT エンジニア。クラウド管理・運用やネットワークに知見。AWS 認定資格および Google Cloud 認定資格はすべて取得。X(旧 Twitter)では Google Cloud や Google Workspace のアップデート情報をつぶやいています。