データを扱う際に、「この列名の意味は何ですか?」のような質問をしたことがあるでしょう。「この破損したデータセットのオーナーは誰ですか?」や「このテーブルは使用が承認されていますか?」メタデータタグはこれらの質問に答えようとしますが、すぐに古くなったり、一貫性がなくなったりします。Knowledge Catalog(旧称 Dataplex Universal Catalog)では、構造化されたメタデータと明確なビジネス定義をデータアセットに直接関連付けることで、この問題を解決します。明確なデータ コンテキストを提供することで、AI エージェントの基盤が確立され、データを利用するすべてのユーザーの信頼の基盤が構築されます。
このチュートリアルでは、Knowledge Catalog でデータ コンテキストを確立する方法について説明します。このチュートリアルは、データ スチュワードやビジネス アナリストなどのユーザーを対象としています。UI ベースの手順に沿って、標準のビジネス用語とコンテキストを構築してから、これらのワークフローを自動化します。このチュートリアルでは、Knowledge Catalog の重要なコンセプト間の関係を明確にします。このコースを修了すると、データを検出可能で信頼できるものにする方法を理解できます。
目標
このチュートリアルでは、以下の方法について学習します。
- ビジネス用語集を使用して、ビジネス用語の信頼できる唯一の情報源を作成します。
- アスペクト タイプを使用してメタデータを構造化し、整理します。
- アスペクトを使用して、メタデータをデータアセットにアタッチします。
- Knowledge Catalog Search を使用して、この新しい構造化メタデータから必要なものを正確に見つけることができます。
始める前に
始める前に、次のことを行います。
- このチュートリアル用の Google Cloud プロジェクトを選択します。
- プロジェクトで課金が有効になっていることを確認します。
環境の設定
このチュートリアルでは、クラウドで実行されるコマンドライン環境である Cloud Shell を使用します。
Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] をクリックします。環境がプロビジョニングされ、接続されるまでしばらく待ちます。
Cloud Shell で
PROJECT_ID変数とLOCATION変数を設定して、以降のすべてのコマンドが特定の Google Cloud プロジェクトを対象とするようにします。export PROJECT_ID=$(gcloud config get-value project) gcloud config set project $PROJECT_ID export LOCATION="us-central1"必要な Google Cloud サービスを有効にします。
gcloud services enable \ dataplex.googleapis.com \ bigquery.googleapis.com \ datacatalog.googleapis.com
BigQuery データセットを作成してサンプルデータを準備する
次のコードを使用して、BigQuery データセットを作成し、サンプル CSV トランザクションをテーブルに読み込みます。テーブルを作成すると、Knowledge Catalog がテーブルを検出し、カタログにテーブルのエントリを作成します。
エントリは、Knowledge Catalog のデータアセットの表現と考えることができます。これは、メタデータを追加できるカタログ内のレコードのようなものです。BigQuery テーブルに直接コンテキストを追加(またはエンリッチ)するのではなく、Knowledge Catalog のエントリに追加します。
# Create the BigQuery Dataset in the us-central1 region
bq --location=$LOCATION mk --dataset \
--description "Sample retail data for foundational data context tutorial" \
$PROJECT_ID:retail_data
# Create a temporary CSV file with the sample data
echo "transaction_id,user_email,gmv,transaction_date
1001,test@example.com,150.50,2025-08-28
1002,user@example.com,75.00,2025-08-28" > /tmp/transactions.csv
# Load the data from the temporary CSV file into a BigQuery table
bq load \
--source_format=CSV \
--autodetect \
retail_data.transactions \
/tmp/transactions.csv
# (Optional) Clean up the temporary file
rm /tmp/transactions.csv
SELECT クエリを実行して、設定を確認します。
bq query --nouse_legacy_sql "SELECT * FROM retail_data.transactions"
出力例:
+----------------+------------------+-------+------------------+
| transaction_id | user_email | gmv | transaction_date |
+----------------+------------------+-------+------------------+
| 1001 | test@example.com | 150.5 | 2025-08-28 |
| 1002 | user@example.com | 75.0 | 2025-08-28 |
+----------------+------------------+-------+------------------+
ビジネス用語集で共通の用語を確立する
適切なデータ コンテキストは、明確な定義に依存します。たとえば、gmv という名前の列が総商品価値を意味するのか、税金や返品が含まれているのかを推測する必要はありません。ビジネス用語集は、組織全体でこれらの定義の信頼できる唯一の情報源を作成します。チームメンバーや AI エージェントがデータを分析する際に、この正確なビジネス コンテキストが継承されます。定義を共有することで、財務、営業、運用などのチーム間で指標を調整し、AI エージェントがハルシネーションを回避するのに役立ちます。
用語集を作成して最初の用語を定義する手順は次のとおりです。
Google Cloud コンソールで、Knowledge Catalog の [用語集] ページに移動します。
[ビジネス用語集を作成] をクリックします。
次の詳細情報を入力します。
- Display name:
Retail Business Glossary - ロケーション:
us-central1 (Iowa)
- Display name:
[作成] をクリックします。
[カテゴリを作成] をクリックします。
カテゴリに
Sales Metricsという名前を付け、[作成] をクリックします。[Sales Metrics] カテゴリを選択し、[Add term] をクリックします。
用語に
Gross Merchandise Valueという名前を付けて、[作成] をクリックします。[商品総額] という用語をクリックして、詳細ページを開きます。
[概要] の横にある [追加] をクリックします。次の詳細情報を入力します。
The total value of merchandise sold over a given period of time before the deduction of any fees or expenses. This is a key indicator of e-commerce business growth.[保存] をクリックします。
これで、組織全体のデータ エントリにリンクできる用語集の用語が作成されました。
アスペクト タイプを使用してテクニカル メタデータを定義する
非構造化メタデータ タグを使用すると、カタログ エントリの不整合が発生することがよくあります。たとえば、あるテーブルに owner:bob というタグを付け、別のテーブルに steward:alice@example.com というタグを付けることができます。メタデータを大規模に整理するには、一貫性のあるスキーマが必要です。
ここで アスペクト タイプが登場します。アスペクト タイプは、明確なルールと必須フィールドを設定できるメタデータ ブループリントです。データ スチュワードに有効なメールアドレスなどの標準フィールドを要求すると、ダウンストリーム スクリプトでメタデータを自動的に検証して保護できます。
アスペクト タイプを作成する手順は次のとおりです。
Google Cloud コンソールで、Knowledge Catalog の [メタデータのタイプ] ページの [アスペクト タイプ] タブに移動します。
[カスタム] タブで、[作成] をクリックします。
次の詳細情報を入力します。
- Display name:
Data Asset Context - ロケーション:
us-central1 (Iowa)
- Display name:
[テンプレート] セクションで、[フィールドを追加] をクリックして、次の 3 つのフィールドを作成します。
フィールド 1:
- Display name:
Data Steward - タイプ:
Text - 必須: チェックボックスをオンにします。
- テキストタイプ:
Plain text
- Display name:
フィールド 2([フィールドを追加] をクリック):
- Display name:
Data Sensitivity - タイプ:
Enum - Is Required: 省略可のままにします。
- 値:
Public、Internal、Confidentialを追加します。
- Display name:
フィールド 3([フィールドを追加] をクリック):
- Display name:
Last Review Date - Is Required: 省略可のままにします。
- タイプ:
Date and time
- Display name:
[保存] をクリックします。
これで、データ スチュワード、機密性レベル、レビュー日などのデータ ガバナンス関連のメタデータ フィールドのアスペクト タイプが作成されました。次のセクションでは、これらのフィールドに特定の値を設定したアスペクトを関連付けることで、このスキーマをテーブル エントリに適用します。
ビジネス コンテキストと技術コンテキストでエントリを拡充する
列名が省略されているか、曖昧なことが多い。ビジネス用語集の用語に列をリンクすると、明確で一貫性のある定義が提供されます。このステップでは、Gross Merchandise Value という用語を gmv という名前の列にリンクし、アスペクト タイプを使用してアスペクトをテーブル エントリに付加することで、retail_data.transactions テーブルのエントリを拡充します。
列をビジネス用語にリンクする
retail_data.transactions の gmv 列の内容を明確にするため、Gross Merchandise Value 用語にリンクします。
Google Cloud コンソールで、Knowledge Catalog の [検索] ページに移動します。
[フィルタ] をクリックして [フィルタ] パネルを開きます。
[スコープ] で、[現在のプロジェクト] を選択します。
retail_data.transactionsを検索し、返されたトランザクション テーブルをクリックします。[スキーマ] タブをクリックします。
[
gmv] 列の横にあるチェックボックスをオンにして、[ビジネス用語を追加] をクリックします。[
Gross Merchandise Value] を選択します。
テーブル エントリにアスペクトを関連付ける
ビジネス用語を列にリンクするだけでなく、アスペクトをテーブル エントリにアタッチして、データの所有権や機密性などのテーブルレベルのメタデータをキャプチャすることもできます。
アスペクトは、アスペクト タイプのインスタンスであり、メタデータ フィールドに特定の値が設定されています。アスペクトをエントリに関連付けると、Knowledge Catalog は、指定した情報をアスペクト タイプで定義されたスキーマと照合して、整合性を確保します。
retail_data.transactions テーブルの所有権と機密性を定義するには、Data Asset Context アスペクトを付加します。
retail_data.transactionsエントリページの [詳細] タブで、[オプションのアスペクト] の横にある [追加] をクリックします。- リストから
Data Asset Contextを選択します。 次のフィールドに値を入力します。
- データ スチュワード:
finance-team@example.com - データの機密性: [内部] を選択します。
- 最終確認日: 今日の日付を選択します。
- データ スチュワード:
[保存] をクリックします。
サンプル小売取引データを拡充することで、Knowledge Catalog にデータ コンテキストの強固な基盤を構築しました。
拡充されたメタデータを使用してエントリを検索する
Knowledge Catalog 検索を使用して、設定したビジネス コンテキストに基づいてエントリを検索できるようになりました。たとえば、特定の機密レベルのすべてのアセットを検索したり、用語集の用語を検索して基盤となるテーブルを見つけたりできます。
Google Cloud コンソールで、Knowledge Catalog の [検索] ページに移動します。
[フィルタ] をクリックして [フィルタ] パネルを開きます。
[スコープ] で、[現在のプロジェクト] を選択します。
検索バーに「
Find tables where the Data Asset Context aspect has Internal sensitivity.」と入力します。結果のリストに
retail_data.transactionsテーブルが表示されます。検索バーをクリアして「
Find tables with the Gross Merchandise Value term attached.」と入力しますgmv列がこのビジネス用語に直接リンクされているため、結果にretail_data.transactionsテーブルが表示されます。
AI エージェントを Knowledge Catalog に接続すると、この拡充されたメタデータが自動的に継承されます。たとえば、エージェントに社内の販売指標の取得を依頼すると、エージェントはデータ機密性(内部に設定)と、リンクされている総商品価値の用語集の用語を読み取ります。この共有コンテキストにより、エージェントはデータソースを検証し、アクセス ポリシーを尊重し、ハルシネーションを回避できます。
クリーンアップ
課金されないようにするには、このチュートリアルで作成したリソースを削除します。
サンプル データセットを削除する
サンプル BigQuery データセットとそのすべてのテーブルを削除するには、次のコマンドを使用します。この操作は取り消せません。
# Re-run these exports if your Cloud Shell session timed out
export PROJECT_ID=$(gcloud config get-value project)
# Manually type this command to confirm you are deleting the correct dataset
bq rm -r -f --dataset $PROJECT_ID:retail_data
Knowledge Catalog アーティファクトを削除する
Google Cloud コンソールで、Knowledge Catalog の [メタデータのタイプ] ページの [アスペクト タイプ] タブに移動します。
Data Asset Contextアスペクト タイプを選択し、[削除] をクリックします。Google Cloud コンソールで、Knowledge Catalog の [用語集] ページに移動します。
Gross Merchandise Value期間を選択し、[削除] をクリックします。Sales Metricsカテゴリを選択し、[削除] をクリックします。Retail Business Glossaryを選択し、[削除] をクリックします。
次のステップ
Knowledge Catalog を使用したカタログのキュレーションとエージェントの構築について詳しくは、以下のリソースをご覧ください。
- アスペクトを管理してメタデータを拡充する: アスペクトを管理してメタデータを拡充するで、カスタム スキーマを定義して構造化メタデータを関連付ける方法を確認する。
- ビジネス用語集を管理する: 組織の標準化された用語集を確立する方法については、ビジネス用語集を管理するをご覧ください。
- Terraform でガバナンス: Terraform を使用してカスタム アスペクト タイプと用語集をプロビジョニングする方法を学習します。
- 用語集の用語を大規模に操作する: 用語集とエントリリンクのインポートとエクスポートについての JSON ファイルを使用して、メタデータの一括拡充を行います。
- エージェントでメタデータを拡充する: メタデータを拡充するエージェントを構築するで、コンテキストを抽出してデータアセットを拡充する AI エージェントを構築します。
- その他のユースケースを確認する: ユースケースで、その他のハンズオン ワークフローとシナリオを確認する。