Data Catalog を使用して BigQuery テーブルにタグ付けする
このクイックスタートは、次のタスクの実施に役立ちます。
BigQuery データセットとテーブルを作成する。
異なるタイプの 5 つのタグフィールドを定義するスキーマを使用してタグ テンプレートを作成します。これらは
string
、double
、boolean
、enumerated
、richtext
です。テーブルのデータカタログ エントリを検索します。
Google Cloud コンソールで、概要、データ スチュワード、タグを含むエントリのビジネス メタデータを作成します。
Data Catalog を使用すると、メタデータで BigQuery テーブルなどのエントリを検索してタグ付けできます。タグ付けに使用できるメタデータの例としては、公開タグ、非公開タグ、データ スチュワード、リッチテキストの概要などがあります。
始める前に
- プロジェクトの設定。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Data Catalog and BigQuery APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Data Catalog and BigQuery APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
一般公開データ エントリをプロジェクトに追加する
Data Catalog のエントリには、BigQuery データセットや Pub/Sub トピックなどのデータリソースが含まれます。
一般公開データセットをプロジェクトに追加します。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] セクションで、[+ データを追加] をクリックして、リストから [公開データセット] を選択します。
[Marketplace] パネルで「
New York taxi trips
」を検索し、関連する検索結果をクリックします。[データセットを表示] をクリックします。
データセットとテーブルを作成する
データセットを作成します。
Google Cloud コンソールで [BigQuery] ページを開きます。
[エクスプローラ] パネルで、データセットを作成するプロジェクトを選択します。
アクション アイコンをクリックし、[データセットを作成] をクリックします。
[データセットを作成] ページで、次の詳細を入力します。
- [データセット ID] に「
demo_dataset
」を入力します。 - [Data location] で [
us (multiple regions in United States)
] を選択します。 - テーブルの有効期限を有効にして、日数を指定します。
- [暗号化] で、[Google が管理する鍵] オプションを選択したままにします。
[データセットを作成] をクリックします。
- [データセット ID] に「
一般公開されているテーブルを
demo_dataset
にコピーします。Google Cloud コンソールで、[BigQuery] ページを開きます。
[エクスプローラ] ペインで、
tlc_yellow_trips
テーブルを検索し(必要に応じて [すべてのプロジェクトに検索を拡張] をクリックし)、tlc_yellow_trips_2017
などのいずれかを選択します。次に [コピー] をクリックします。[テーブルのコピー] ペインで、次の情報を入力します。
- [プロジェクト名] プルダウン リストでプロジェクトを選択します。
- [データセット名] プルダウン リストで、[
demo_dataset
] を選択します。 - [テーブル名] に「
trips
」と入力し、[コピー] をクリックします。
[エクスプローラ] ペインで、
trips
テーブルがdemo_dataset
に表示されていることを確認します。
次のセクションでは、このテーブルに Data Catalog タグを追加します。
公開タグ テンプレートを作成し、エントリのタグを添付する
データセットのテーブルにタグを付けるには、データセットのオーナーである必要があります。公開タグと非公開タグの詳細については、公開タグと非公開タグをご覧ください。
タグ テンプレートで、タグ フィールドは省略可能です。Data Catalog エントリにタグを適用するときに、フィールドの値を指定する必要はありません。ただし、テンプレートでフィールドが必須として定義されている場合は、そのフィールドの値を指定する必要があります。値が指定されていない場合は、エラーが発生します。
小文字とアンダースコアを使用してフィールド名を定義できます。この例で作成されるタグ テンプレート フィールドはデモフィールドにすぎません。自動更新や BigQuery との同期は行われません。
コンソール
[Dataplex] > [タグ テンプレート] ページに移動します。
[タグ テンプレートを作成] をクリックして、次の詳細を入力します。
- テンプレート名として「
Demo Tag Template
」と入力します。 - デフォルトのロケーションを保持します。
- タグ テンプレートの公開設定を [公開] として保持します。
[フィールドを追加] をクリックして、5 つのフィールドを追加します。 次の表を使用して、[フィールドの説明] を空のままにします。
フィールド表示名 フィールド ID 必須項目 タイプ データアセットのソース ソース ○ 文字列 アセット内の行 num_rows × Double Has PII has_pii × ブール値 PII タイプ pii_type × 列挙 値
EMAIL_ADDRESS
、US_SOCIAL_SECURITY_NUMBER
、NONE
を追加します。コンテキスト context × リッチテキスト
- テンプレート名として「
[作成] をクリックします。
[テンプレートの詳細] ページには、タグ テンプレートに関するすべての情報が一覧表示されます。
demo_dataset
にタグを添付するには、Dataplex の検索ページに移動します。[検索プラットフォームの選択] で、検索モードとして [Data Catalog] を選択します。
[検索] ボックスに「
demo_dataset
」と入力します。 検索結果で、demo_dataset
データセットとtrips
テーブルが表示されます。[
trips
] テーブルをクリックします。 [BigQuery テーブルの詳細] ページが開きます。[タグを添付] をクリックします。
[タグを添付] パネルに、次の情報を入力します。
trips
としてターゲットを選択します。Demo Tag Template
としてタグ テンプレートを 選択します。- タグの値として、次の詳細を入力します。
- データアセットのソース:
Copied from tlc_yellow_trips_2017
- データアセット内の行数:
113496874
- 個人情報(PII)あり:
FALSE
- PII タイプ:
NONE
- データアセットのソース:
[保存] をクリックします。
タグフィールドが、BigQuery テーブルの詳細の [タグ] セクションに一覧表示されます。
gcloud
下に示す gcloud data-catalog tag-templates create コマンドを実行して、次の 5 つのタグフィールドを持つタグ テンプレートを作成します。
-
display_name:
データアセットのソース
id:
ソース
required:
true
type:
string display_name:
データアセットの行数
id:
num_rows
required:
false
type:
doubledisplay_name:
PII あり
id:
has_pii
required:
false
type:
booleandisplay_name:
PII タイプ
id:
pii_type
required:
false
type:
enum
values:
- EMAIL_ADDRESS
- US_SOCIAL_SECURITY_NUMBER
- なし
# ------------------------------- # Create a Tag Template. # ------------------------------- gcloud data-catalog tag-templates create demo_template \ --location=us-central1 \ --display-name="Demo Tag Template" \ --field=id=source,display-name="Source of data asset",type=string,required=TRUE \ --field=id=num_rows,display-name="Number of rows in the data asset",type=double \ --field=id=has_pii,display-name="Has PII",type=bool \ --field=id=pii_type,display-name="PII type",type='enum(EMAIL_ADDRESS|US_SOCIAL_SECURITY_NUMBER|NONE)' # ------------------------------- # Lookup the Data Catalog entry for the table. # ------------------------------- ENTRY_NAME=$(gcloud data-catalog entries lookup '//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET/tables/TABLE' --format="value(name)") # ------------------------------- # Attach a Tag to the table. # ------------------------------- # Create the Tag file. cat > tag_file.json << EOF { "source": "BigQuery", "num_rows": 1000, "has_pii": true, "pii_type": "EMAIL_ADDRESS" } EOF gcloud data-catalog tags create --entry=${ENTRY_NAME} \ --tag-template=demo_template --tag-template-location=us-central1 --tag-file=tag_file.json
Go
このサンプルを試す前に、クライアント ライブラリを使用した Data Catalog のクイックスタートにある Go の設定手順を行ってください。 詳細については、Data Catalog Go API のリファレンス ドキュメントをご覧ください。
Data Catalog への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
このサンプルを試す前に、クライアント ライブラリを使用した Data Catalog のクイックスタートにある Java の設定手順を行ってください。 詳細については、Data Catalog Java API のリファレンス ドキュメントをご覧ください。
Data Catalog への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
このサンプルを試す前に、クライアント ライブラリを使用した Data Catalog のクイックスタートにある Node.js の設定手順を行ってください。 詳細については、Data Catalog Node.js API のリファレンス ドキュメントをご覧ください。
Data Catalog への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
このサンプルを試す前に、クライアント ライブラリを使用した Data Catalog のクイックスタートにある Python の設定手順を行ってください。 詳細については、Data Catalog Python API のリファレンス ドキュメントをご覧ください。
Data Catalog への認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST とコマンドライン
REST
ご使用の言語の Cloud クライアント ライブラリにアクセスしない場合、または REST リクエストを使用して API をテストする場合は、次の例を参照して、Data Catalog REST API のドキュメントをご覧ください。
1. タグ テンプレートを作成してください。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: 実際の Google Cloud プロジェクト ID
HTTP メソッドと URL:
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/tagTemplates?tagTemplateId=demo_tag_template
リクエストの本文(JSON):
{ "displayName":"Demo Tag Template", "fields":{ "source":{ "displayName":"Source of data asset", "isRequired": "true", "type":{ "primitiveType":"STRING" } }, "num_rows":{ "displayName":"Number of rows in data asset", "isRequired": "false", "type":{ "primitiveType":"DOUBLE" } }, "has_pii":{ "displayName":"Has PII", "isRequired": "false", "type":{ "primitiveType":"BOOL" } }, "pii_type":{ "displayName":"PII type", "isRequired": "false", "type":{ "enumType":{ "allowedValues":[ { "displayName":"EMAIL_ADDRESS" }, { "displayName":"US_SOCIAL_SECURITY_NUMBER" }, { "displayName":"NONE" } ] } } } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "displayName":"Demo Tag Template", "fields":{ "num_rows":{ "displayName":"Number of rows in data asset", "isRequired": "false", "type":{ "primitiveType":"DOUBLE" } }, "has_pii":{ "displayName":"Has PII", "isRequired": "false", "type":{ "primitiveType":"BOOL" } }, "pii_type":{ "displayName":"PII type", "isRequired": "false", "type":{ "enumType":{ "allowedValues":[ { "displayName":"EMAIL_ADDRESS" }, { "displayName":"NONE" }, { "displayName":"US_SOCIAL_SECURITY_NUMBER" } ] } } }, "source":{ "displayName":"Source of data asset", "isRequired":"true", "type":{ "primitiveType":"STRING" } } } }
2. BigQuery テーブルの Data Catalog entry-id
を検索します。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: Google Cloud プロジェクト ID
HTTP メソッドと URL:
GET https://datacatalog.googleapis.com/v1/entries:lookup?linkedResource=//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/trips
リクエストの本文(JSON):
Request body is empty.
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id/locations/US/entryGroups/@bigquery/entries/entry-id", "type": "TABLE", "schema": { "columns": [ { "type": "STRING", "description": "A code indicating the TPEP provider that provided the record. 1= ", "mode": "REQUIRED", "column": "vendor_id" }, ... ] }, "sourceSystemTimestamps": { "createTime": "2019-01-25T01:45:29.959Z", "updateTime": "2019-03-19T23:20:26.540Z" }, "linkedResource": "//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/trips", "bigqueryTableSpec": { "tableSourceType": "BIGQUERY_TABLE" } }
3. テンプレートからタグを作成し、BigQuery テーブルに添付します。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: Google Cloud プロジェクト ID
- entry-id: デモ データセットのトリップ テーブルの Data Catalog エントリ ID(前のステップの検索結果で返されます)。
HTTP メソッドと URL:
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/entryGroups/@bigquery/entries/entry-id/tags
リクエストの本文(JSON):
{ "template":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "fields":{ "source":{ "stringValue":"Copied from tlc_yellow_trips_2017" }, "num_rows":{ "doubleValue":113496874 }, "has_pii":{ "boolValue":false }, "pii_type":{ "enumValue":{ "displayName":"NONE" } } } }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{ "name":"projects/project-id/locations/US/entryGroups/@bigquery/entries/entry-id/tags/tag-id", "template":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "fields":{ "pii_type":{ "displayName":"PII type", "enumValue":{ "displayName":"NONE" } }, "has_pii":{ "displayName":"Has PII", "boolValue":false }, "source":{ "displayName":"Source of data asset", "stringValue":"Copied from tlc_yellow_trips_2017" }, "num_rows":{ "displayName":"Number of rows in data asset", "doubleValue":113496874 } }, "templateDisplayName":"Demo Tag Template" }
エントリの概要を作成する
Google Cloud コンソール内では、リッチテキストを使用して Data Catalog プロジェクトのエントリを記述できます。
trips
テーブルの概要を作成するには、Dataplex の検索ページに移動します。[検索プラットフォームの選択] で、検索モードとして [Data Catalog] を選択します。
[検索] ボックスに「
demo_dataset
」と入力します。検索結果で、
demo_dataset
データセットとtrips
テーブルが表示されます。[
trips
] テーブルをクリックします。[BigQuery テーブルの詳細] ページが開きます。
[概要を追加] をクリックしてテキストを入力します。画像とリッチ形式のテキストを追加することもできます。
[保存] をクリックします。
エントリにデータ スチュワードを追加する
Google Cloud コンソール内で、1 つ以上のデータ スチュワードを Data Catalog プロジェクトのエントリに追加できます。データエントリのデータ スチュワードに対して、データエントリに関する詳細情報を要求すことができます。
trips
テーブルの概要を作成するには、前のセクションの最初の 3 つの手順を繰り返します。スチュワードの編集アイコンをクリックして、1 つ以上のメールアドレスを追加します。
Google 以外のメール アカウントを持つユーザーを追加できます。
[保存] をクリックします。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
プロジェクトを削除する
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
データセットの削除
必要に応じて、[BigQuery] ページに移動します。
[エクスプローラ] パネルで、作成した
demo_dataset
データセットを検索します。[アクション] オプションをクリックし、[データセットを削除] をクリックします。
削除のアクションを確認します。
タグ テンプレートを削除する
[Data Catalog] > [テンプレート] ページに移動します。
[デモ タグ テンプレート] を選択します。
その行で、
[アクション] オプションをクリックし、[このテンプレートを削除] をクリックします。削除のアクションを確認します。
次のステップ
Data Catalog の概要で Data Catalog について学習する。
技術的なメタデータとビジネス メタデータについて学習する。
タグとタグ テンプレートで、タグ テンプレート、公開タグ、非公開タグについて学習する。
API とクライアント ライブラリの概要を閲覧する