データ品質の問題をスキャンする
このドキュメントでは、BigQuery と Dataplex Universal Catalog を組み合わせて使用し、データが品質要件を満たしていることを確認する方法について説明します。Dataplex Universal Catalog の自動データ品質を使用すると、BigQuery テーブル内のデータの品質を定義して測定できます。データのスキャンを自動化して、定義済みルールに照らしてデータを検証し、データが品質要件を満たしていない場合はアラートを記録できます。
自動データ品質の詳細については、自動データ品質の概要をご覧ください。
始める前に
-
Enable the Dataplex API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - 省略可: データ プロファイル スキャンの結果に基づいてデータ品質ルールの推奨事項を Dataplex Universal Catalog で生成する場合は、データ プロファイル スキャンを作成して実行します。
必要なロール
このセクションでは、Dataplex Universal Catalog のデータ品質スキャンを使用するために必要な IAM のロールと権限について説明します。
ユーザーの役割と権限
データ品質スキャンの実行と管理に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
BigQuery テーブルでデータ品質スキャンを実行します。
-
スキャンジョブを実行するためのプロジェクトに対する BigQuery ジョブユーザー (
roles/bigquery.jobUser) -
スキャンする BigQuery テーブルに対する BigQuery データ閲覧者 (
roles/bigquery.dataViewer)
-
スキャンジョブを実行するためのプロジェクトに対する BigQuery ジョブユーザー (
-
データ品質スキャン結果を Dataplex Universal Catalog に公開する:
-
スキャンされたテーブルに対する BigQuery データ編集者 (
roles/bigquery.dataEditor) -
テーブルと同じロケーションにある
@bigqueryエントリ グループに対する Dataplex Catalog 編集者 (roles/dataplex.catalogEditor)
-
スキャンされたテーブルに対する BigQuery データ編集者 (
-
DataScanリソースで特定のタスクを実行します。-
完全アクセス権を持つプロジェクトに対する Dataplex DataScan 管理者 (
roles/dataplex.dataScanAdmin) -
スキャンを作成するプロジェクトに対する Dataplex DataScan 作成者 (
roles/dataplex.dataScanCreator) -
書き込みアクセス権を持つプロジェクトに対する Dataplex DataScan 編集者 (
roles/dataplex.dataScanEditor) -
スキャン メタデータを読み取るプロジェクトに対する Dataplex DataScan 閲覧者 (
roles/dataplex.dataScanViewer) -
ルールと結果を含むスキャンデータを読み取るプロジェクトに対する Dataplex DataScan データ閲覧者 (
roles/dataplex.dataScanDataViewer)
-
完全アクセス権を持つプロジェクトに対する Dataplex DataScan 管理者 (
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、データ品質スキャンの実行と管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
データ品質スキャンを実行して管理するには、次の権限が必要です。
-
BigQuery テーブルでデータ品質スキャンを実行します。
-
スキャンジョブを実行するには、プロジェクトに対する
bigquery.jobs.create -
スキャンする BigQuery テーブルに対する
bigquery.tables.get -
スキャンする BigQuery テーブルに対する
bigquery.tables.getData
-
スキャンジョブを実行するには、プロジェクトに対する
-
データ品質スキャン結果を Dataplex Universal Catalog に公開する:
-
スキャンされたテーブルに対する
bigquery.tables.update -
テーブルと同じロケーションにある
@bigqueryエントリ グループに対するdataplex.entryGroups.useDataQualityScorecardAspect
-
スキャンされたテーブルに対する
-
DataScanを作成する: プロジェクトに対するdataplex.datascans.create -
DataScanを削除する: プロジェクトに対するdataplex.datascans.delete -
DataScanメタデータを表示する: プロジェクトに対するdataplex.datascans.get -
ルールと結果を含む
DataScanの詳細を表示する: プロジェクトに対するdataplex.datascans.getData -
DataScanを一覧表示する: プロジェクトに対するdataplex.datascans.list -
プロジェクトに対する
dataplex.datascans.run権限:DataScanを実行する -
DataScanを更新する: プロジェクトに対するdataplex.datascans.update -
DataScanの IAM ポリシーを取得または設定する:- プロジェクトに対する
dataplex.datascans.getIamPolicy - プロジェクトに対する
dataplex.datascans.setIamPolicy
- プロジェクトに対する
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
BigQuery の列レベルのアクセス ポリシーで保護されている列にアクセスする必要がある場合は、それらの列に対する権限も必要です。
Dataplex Universal Catalog サービス アカウントのロールと権限
データ品質スキャンやデータ プロファイル スキャンをまだ作成していない場合、またはこのプロジェクトに Dataplex Universal Catalog レイクがない場合は、gcloud beta services identity create --service=dataplex.googleapis.com を実行してサービス ID を作成してください。このコマンドは、Dataplex Universal Catalog サービス ID が存在する場合に該当する ID を返します。
データ品質スキャンを含むプロジェクトの Dataplex Universal Catalog サービス アカウントに、さまざまなソースからデータを読み取って結果をエクスポートするために必要な権限が付与されるように、データ品質スキャンを含むプロジェクトの Dataplex Universal Catalog サービス アカウントに次の IAM ロールを付与するよう管理者に依頼してください。
-
BigQuery テーブルのデータを読み取る:
スキャンする BigQuery テーブルと、ルールで参照される他のテーブルに対する BigQuery データ閲覧者 (
roles/bigquery.dataViewer) -
スキャン結果を BigQuery テーブルにエクスポートする:
結果のデータセットとテーブルに対する BigQuery データ編集者 (
roles/bigquery.dataEditor) -
Dataplex Universal Catalog レイクに編成された BigQuery データをスキャンする:
-
Dataplex リソースに対する Dataplex メタデータ読み取り (
roles/dataplex.metadataReader) -
Dataplex リソースに対する Dataplex 閲覧者 (
roles/dataplex.viewer)
-
Dataplex リソースに対する Dataplex メタデータ読み取り (
-
Cloud Storage から BigQuery 外部テーブルをスキャンする:
Cloud Storage バケットに対する Storage オブジェクト閲覧者 (
roles/storage.objectViewer)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、さまざまなソースからデータを読み取って結果をエクスポートするために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
さまざまなソースからデータを読み取り、結果をエクスポートするには、次の権限が必要です。
-
BigQuery テーブルデータを読み取る:
-
BigQuery テーブルに対する
bigquery.tables.get -
BigQuery テーブルに対する
bigquery.tables.getData
-
BigQuery テーブルに対する
-
スキャン結果を BigQuery テーブルにエクスポートします。
-
結果データセットとテーブルに対する
bigquery.datasets.get -
結果データセットとテーブルに対する
bigquery.tables.create -
結果データセットとテーブルに対する
bigquery.tables.get -
結果データセットとテーブルに対する
bigquery.tables.getData -
結果データセットとテーブルに対する
bigquery.tables.update -
結果データセットとテーブルに対する
bigquery.tables.updateData
-
結果データセットとテーブルに対する
-
Dataplex Universal Catalog レイクに編成された BigQuery データをスキャンする:
-
Dataplex リソースに対する
dataplex.lakes.list -
Dataplex リソースに対する
dataplex.lakes.get -
Dataplex リソースに対する
dataplex.zones.list -
Dataplex リソースに対する
dataplex.zones.get -
Dataplex リソースに対する
dataplex.entities.list -
Dataplex リソースに対する
dataplex.entities.get -
Dataplex リソースに対する
dataplex.operations.get
-
Dataplex リソースに対する
-
Cloud Storage から BigQuery 外部テーブルをスキャンします。
-
Cloud Storage バケットに対する
storage.buckets.get -
Cloud Storage バケットに対する
storage.objects.get
-
Cloud Storage バケットに対する
管理者は、データ品質スキャンを含むプロジェクトの Dataplex ユニバーサル カタログ サービス アカウントに、カスタムロールや他の事前定義ロールを付与することもできます。
BigQuery の列レベルのアクセス ポリシーで保護されている列にアクセスする必要がある場合は、それらの列に対する権限を Dataplex Universal Catalog サービス アカウントに割り当てます。
テーブルで BigQuery 行レベルのアクセス ポリシーが有効になっている場合、Dataplex Universal Catalog サービス アカウントに表示される行のみをスキャンできます。行レベルのポリシーに対する個々のユーザーのアクセス権限は評価されません。
データ品質スキャンを作成する
コンソール
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
[データ品質スキャンの作成] をクリックします。
[スキャンの定義] ウィンドウで、次のフィールドに入力します。
省略可: 表示名を入力します。
ID を入力します。リソースの命名規則をご覧ください。
(省略可)説明を入力します。
[テーブル] フィールドで、[参照] をクリックします。スキャンするテーブルを選択し、[選択] をクリックします。標準の BigQuery テーブルのみがサポートされています。
マルチリージョン データセット内のテーブルの場合は、データスキャンを作成するリージョンを選択します。
Dataplex Universal Catalog レイク内で整理されたテーブルを参照するには、[Dataplex レイク内のブラウジング] をクリックします。
[スコープ] フィールドで、[増分] または [データ全体] を選択します。
- [増分] を選択した場合、[タイムスタンプ列] フィールドで、新しいレコードが追加されるたびに増加し、新しいレコードの識別に使用できる BigQuery テーブルから、
DATE型またはTIMESTAMP型の列を選択します。テーブルを分割する列でもかまいません。
- [増分] を選択した場合、[タイムスタンプ列] フィールドで、新しいレコードが追加されるたびに増加し、新しいレコードの識別に使用できる BigQuery テーブルから、
データをフィルタするには、[行のフィルタリング] チェックボックスをオンにします。GoogleSQL 構文の
WHERE句の一部として使用できる有効な SQL 式で構成される行フィルタを指定します。例:col1 >= 0フィルタには、複数の列条件を組み合わせることができます。例:col1 >= 0 AND col2 < 10データをサンプリングするには、[サンプリング サイズ] リストでサンプリング率を選択します。0.0~100.0% の範囲のパーセンテージ値(小数点以下 3 桁まで)を選択します。大規模なデータセットの場合は、低いサンプリング率を選択します。たとえば、1 PB のテーブルの場合、0.1%~1.0% の値を入力すると、データ品質スキャンは 1~10 TB のデータをサンプリングします。増分データスキャンの場合、データ品質スキャンは最新の増分にサンプリングを適用します。
データ品質スキャンの結果を Dataplex Universal Catalog メタデータとして公開するには、[結果を Dataplex Catalog に公開する] チェックボックスをオンにします。
最新のスキャン結果は、ソーステーブルの BigQuery ページと Dataplex Universal Catalog ページの [データ品質] タブで表示できます。ユーザーが公開されたスキャン結果にアクセスできるようにするには、このドキュメントのデータ品質スキャンの結果へのアクセスを許可するをご覧ください。
[スケジュール] セクションで、次のいずれかのオプションを選択します。
繰り返し: データ品質スキャンを 1 時間ごと、毎日、毎週、毎月、カスタムのいずれかのスケジュールで実行します。スキャンの実行頻度と時間を指定します。[カスタム] を選択した場合は、cron 形式を使用してスケジュールを指定します。
オンデマンド: データ品質スキャンをオンデマンドで実行します。
1 回限りの実行: データ品質スキャンを今すぐ 1 回実行し、有効期間後にスキャンを削除します。この機能はプレビュー版です。
有効期間: 有効期間の値は、スキャンが実行されてから削除されるまでの期間です。有効期間が指定されていないデータ品質スキャンは、実行後 24 時間で自動的に削除されます。有効期間は 0 秒(即時削除)から 365 日の範囲で設定できます。
[続行] をクリックします。
[データ品質ルール] ウィンドウで、このデータ品質スキャン用に構成するルールを定義します。
[ルールを追加] をクリックし、次のいずれかのオプションを選択します。
プロフィールに基づく推奨事項: 既存のデータ プロファイリング スキャンに基づいて、推奨事項からルールを作成します。
列の選択: 推奨ルールを取得する列を選択します。
スキャン プロジェクトの選択: データ プロファイリング スキャンがデータ品質スキャンを作成するプロジェクトとは異なるプロジェクトにある場合は、プロファイル スキャンを取得するプロジェクトを選択します。
プロファイルの結果を選択: 1 つ以上のプロファイルの結果を選択し、[OK] をクリックします。これにより、出発点として使用できる推奨ルールのリストが入力されます。
追加するルールのチェックボックスをオンにして、[選択] をクリックします。選択したルールは、現在のルールリストに追加されます。その後、ルールを編集できます。
組み込みルールの種類: 事前定義ルールからルールを作成します。事前定義ルールのリストを確認します。
列の選択: ルールを選択する列を選択します。
ルールの種類を選択: 選択するルールの種類を選択し、[OK] をクリックします。表示されるルールの種類は、選択した列によって異なります。
追加するルールのチェックボックスをオンにして、[選択] をクリックします。選択したルールは、現在のルールリストに追加されます。その後、ルールを編集できます。
SQL 行チェックルール: 各行に適用するカスタム SQL ルールを作成します。
[ディメンション] で、ディメンションを 1 つ選択します。
[合格のしきい値] で、チェックに合格する必要があるレコードの割合を選択します。
[列名] で列を選択します。
[SQL 式を指定] フィールドに、ブール値の
true(合格)またはfalse(不合格)と評価される SQL 式を入力します。詳細については、サポートされているカスタム SQL ルールの種類と、データ品質ルールを定義するの例をご覧ください。[追加] をクリックします。
SQL 集計チェックルール: カスタム SQL テーブル条件ルールを作成します。
[ディメンション] で、ディメンションを 1 つ選択します。
[列名] で列を選択します。
[SQL 式を指定] フィールドに、ブール値の
true(合格)またはfalse(不合格)と評価される SQL 式を入力します。詳細については、サポートされているカスタム SQL ルールの種類と、データ品質ルールを定義するの例をご覧ください。[追加] をクリックします。
SQL アサーション ルール: データの無効な状態を確認するカスタム SQL アサーション ルールを作成します。
[ディメンション] で、ディメンションを 1 つ選択します。
省略可: [列名] で列を選択します。
[SQL ステートメントを指定] フィールドに、無効な状態と一致する行を返す SQL ステートメントを入力します。行が返された場合、このルールは失敗します。SQL ステートメントの末尾のセミコロンを省略します。詳細については、サポートされているカスタム SQL ルールの種類と、データ品質ルールを定義するの例をご覧ください。
[追加] をクリックします。
省略可: どのデータ品質ルールでも、モニタリングとアラートに使用するカスタムルール名と説明を割り当てることができます。これを行うには、ルールを編集して、次の詳細を指定します。
- ルール名: カスタムルール名を 63 文字以下で入力します。ルール名には、文字(az、AZ)、数字(0~9)、ハイフン(-)を使用できます。先頭は文字、末尾は数字または文字にする必要があります
- 説明: ルールの説明を入力します。最大長は 1,024 文字です。
前の手順を繰り返して、データ品質スキャンにルールを追加します。完了したら、[次へ] をクリックします。
省略可: スキャン結果を BigQuery 標準テーブルにエクスポートします。[スキャン結果を BigQuery テーブルにエクスポートする] セクションで、次の操作を行います。
[BigQuery データセットの選択] フィールドで、[参照] をクリックします。 データ品質のスキャン結果を保存する BigQuery データセットを選択します。
[BigQuery テーブル] フィールドで、データ品質スキャンの結果を保存するテーブルを指定します。既存のテーブルを使用している場合は、エクスポート テーブル スキーマと互換性があることを確認してください。指定したテーブルが存在しない場合は、Dataplex Universal Catalog によって作成されます。
省略可: ラベルを追加します。ラベルは、関連するオブジェクトをまとめてグループ化したり、他の Google Cloud リソースと組み合わせてグループ化できる Key-Value ペアです。
省略可: データ品質スキャンジョブのステータスと結果に関するアラートを送信するメール通知レポートを設定します。[通知レポート] セクションで [メール ID を追加] をクリックし、最大 5 つのメールアドレスを入力します。次に、レポートの送信先のシナリオを選択します。
- 品質スコア(<=): ジョブが成功し、データ品質スコアが指定された目標スコアより低い場合にレポートを送信します。0~100 のターゲット品質スコアを入力します。
- ジョブの失敗: データ品質の結果に関係なく、ジョブ自体が失敗するとレポートが送信されます。
- ジョブの完了(成功または失敗): データ品質の結果に関係なく、ジョブが終了するとレポートが送信されます。
[作成] をクリックします。
スキャンが作成されたら、[今すぐ実行] をクリックすることで、いつでもスキャンを実行できます。
gcloud
データ品質スキャンを作成するには、gcloud dataplex datascans create data-quality コマンドを使用します。
ソースデータが Dataplex Universal Catalog レイクに編成されている場合は、--data-source-entity フラグを指定します。
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
ソースデータが Dataplex Universal Catalog レイクに編成されていない場合は、--data-source-resource フラグを指定します。
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
次の変数を置き換えます。
DATASCAN: データ品質スキャンの名前。LOCATION: データ品質スキャンを作成する Google Cloud リージョン。DATA_QUALITY_SPEC_FILE: データ品質スキャンの仕様を含む JSON または YAML ファイルのパス。このファイルは、ローカル ファイルまたは接頭辞gs://を持つ Cloud Storage パスです。このファイルを使用して、スキャンのデータ品質ルールを指定します。このファイルで、フィルタ、サンプリング率、BigQuery へのエクスポートやメール通知レポートの送信などのスキャン後のアクションなどのその他の詳細を指定することもできます。JSON 表現のドキュメントと YAML 表現の例をご覧ください。DATA_SOURCE_ENTITY: データ品質スキャンのデータを含む Dataplex Universal Catalog エンティティ。例:projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entityDATA_SOURCE_RESOURCE: データ品質スキャンのデータを含むリソースの名前。例://bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
C#
C#
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Go
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Java
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Node.js
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Python
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Ruby
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
データ品質スキャンを作成するには、dataScans.create メソッドを使用します。
次のリクエストでは、1 回限りのデータ品質スキャンを作成しています。
POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?data_scan_id=DATASCAN_ID { "data": { "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID" }, "type": "DATA_QUALITY", "executionSpec": { "trigger": { "oneTime": { "ttl_after_scan_completion": "120s" } } }, "dataQualitySpec": { "rules": [ { "nonNullExpectation": {}, "column": "COLUMN_NAME", "dimension": "DIMENSION", "threshold": 1 } ] } }
次のように置き換えます。
PROJECT_ID: プロジェクト ID。LOCATION: データ品質スキャンを作成するリージョン。DATASCAN_ID: データ品質スキャンの ID。DATASET_ID: BigQuery データセットの ID。TABLE_ID: BigQuery テーブルの ID。COLUMN_NAME: ルールの列名。DIMENSION: ルールのディメンション(VALIDITYなど)。
データ プロファイリング スキャンの結果に基づくルールの推奨事項を使用してデータ品質スキャンのルールを作成する場合は、データ プロファイリング スキャンで dataScans.jobs.generateDataQualityRules メソッドを呼び出して推奨事項を取得します。
データ品質スキャンを実行する
コンソール
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
実行するデータ品質スキャンをクリックします。
[今すぐ実行] をクリックします。
gcloud
データ品質スキャンを実行するには、gcloud dataplex datascans run コマンドを使用します。
gcloud dataplex datascans run DATASCAN \ --location=LOCATION \
次の変数を置き換えます。
LOCATION: データ品質スキャンが作成された Google Cloud リージョン。DATASCAN: データ品質スキャンの名前。
C#
C#
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Go
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Java
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Python
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Ruby
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
データ品質スキャンを実行するには、dataScans.run メソッドを使用します。
データ品質スキャンの結果を表示する
コンソール
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
データ品質スキャンの名前をクリックします。
[概要] セクションには、いつスキャンが実行されたか、各ジョブでスキャンされたレコード数、すべてのデータ品質チェックに合格したか、失敗した場合、失敗したデータ品質チェックの数など、最新のジョブに関する情報が表示されます。
[データ品質スキャンの構成] セクションには、スキャンについての詳細が表示されます。
合格したルールの割合を示すデータ品質スコア、失敗したルール、ジョブログなど、ジョブの詳細情報を確認するには、[ジョブ履歴] タブをクリックします。ジョブ ID をクリックします。
gcloud
データ品質スキャンジョブの結果を表示するには、gcloud dataplex datascans jobs describe コマンドを使用します。
gcloud dataplex datascans jobs describe JOB \ --location=LOCATION \ --datascan=DATASCAN \ --view=FULL
次の変数を置き換えます。
JOB: データ品質スキャンジョブのジョブ ID。LOCATION: データ品質スキャンが作成された Google Cloud リージョン。DATASCAN: ジョブが属するデータ品質スキャンの名前。--view=FULL: スキャンジョブの結果を表示するには、FULLを指定します。
C#
C#
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Go
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Java
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Python
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Ruby
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
データ品質スキャンの結果を表示するには、dataScans.get メソッドを使用します。
公開された結果を表示する
データ品質スキャンの結果が Dataplex Universal Catalog メタデータとして公開されている場合は、Google Cloud コンソールの BigQuery ページと Dataplex Universal Catalog ページにあるソーステーブルの [データ品質] タブで最新のスキャン結果を確認できます。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 エクスプローラをクリックします。
![ハイライト表示された [エクスプローラ] ペインのボタン。](https://docs.cloud.google.com/static/bigquery/images/explorer-tab.png?authuser=50&hl=ja)
左側のペインが表示されていない場合は、 [左ペインを開く] をクリックしてペインを開きます。
[エクスプローラ] ペインで、[データセット] をクリックし、目的のデータセットをクリックします。
[概要] > [テーブル] をクリックし、データ品質スキャン結果を表示するテーブルを選択します。
[データ品質] タブをクリックします。
最後に公開された結果が表示されます。
スキャン結果の履歴を表示する
Dataplex Universal Catalog は、過去 300 件のジョブ、または過去 1 年間のいずれか早いほうのデータ プロファイルのスキャン履歴を保存します。
コンソール
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
データ品質スキャンの名前をクリックします。
[ジョブ履歴] タブをクリックします。
[ジョブ履歴] タブには、各ジョブでスキャンされたレコード数、ジョブのステータス、ジョブの実行時刻、各ルールの合否など、過去のジョブに関する情報が表示されます。
ジョブについての詳細情報を表示するには、[ジョブ ID] 列でジョブをクリックします。
gcloud
過去のデータ品質スキャンジョブを表示するには、gcloud dataplex datascans jobs list コマンドを使用します。
gcloud dataplex datascans jobs list \ --location=LOCATION \ --datascan=DATASCAN \
次の変数を置き換えます。
LOCATION: データ品質スキャンが作成された Google Cloud リージョン。DATASCAN: 過去のジョブを表示するデータ品質スキャンの名前。
C#
C#
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Go
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Java
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Python
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Ruby
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
データ品質スキャンジョブの履歴を表示するには、dataScans.jobs.list メソッドを使用します。
データ品質スキャンの結果へのアクセスを許可する
組織内のユーザーがスキャン結果を表示できるようにするには、次の操作を行います。
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
結果を共有するデータ品質スキャンをクリックします。
[権限] タブをクリックします。
手順は次のとおりです。
- プリンシパルにアクセス権を付与するには、[ アクセス権を付与] をクリックします。関連するプリンシパルに Dataplex DataScan データ閲覧者ロールを付与します。
- プリンシパルからアクセス権を削除するには、Dataplex DataScan データ閲覧者ロールを削除するプリンシパルを選択します。[アクセス権を削除] をクリックし、プロンプトが表示されたら確定します。
データ品質エラーのトラブルシューティング
データ品質エラーのアラートは、Cloud Logging のログを使用して設定できます。サンプルクエリなどの詳細については、Cloud Logging でアラートを設定するをご覧ください。
行レベルのルールがエラーになるジョブごとに、Dataplex Universal Catalog はエラーになったレコードを取得するクエリを提供します。このクエリを実行して、ルールと一致しなかったレコードを表示します。
コンソール
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
レコードのトラブルシューティングを行うデータ品質スキャンの名前をクリックします。
[ジョブ履歴] タブをクリックします。
データ品質エラーを特定したジョブのジョブ ID をクリックします。
表示されたジョブ ウィンドウの [ルール] セクションで、[失敗したレコードを取得するクエリ] 列を見つけます。失敗したルールの [クエリをクリップボードにコピー] をクリックします。
BigQuery でクエリを実行して、ジョブの失敗の原因となったレコードを確認します。
gcloud
サポートされていません。
REST
データ品質エラーが特定されたジョブを取得するには、
dataScans.getメソッドを使用します。レスポンス オブジェクトの
failingRowsQueryフィールドにクエリが表示されます。BigQuery でクエリを実行して、ジョブの失敗の原因となったレコードを確認します。
Dataplex Universal Catalog は、ルール作成時にデバッグクエリが含まれている場合は、そのデバッグクエリも実行します。デバッグクエリの結果は、各ルールの出力に含まれます。この機能はプレビュー版です。
コンソール
サポートされていません。
gcloud
サポートされていません。
REST
データ品質エラーが特定されたジョブを取得するには、dataScans.get メソッドを使用します。レスポンス オブジェクトの debugQueriesResultSets フィールドにデバッグクエリの結果が表示されます。
特定のテーブルのデータ品質スキャンを管理する
このドキュメントの手順では、Google Cloud コンソールの BigQuery の [メタデータのキュレーション] > [データ プロファイリングと品質] ページを使用して、プロジェクト全体でデータ品質スキャンを管理する方法について説明します。
特定のテーブルを操作するときに、データ品質スキャンを作成して管理することもできます。 Google Cloud コンソールのテーブルの BigQuery ページで、[データ品質] タブを使用します。手順は次のとおりです。
Google Cloud コンソールで、[BigQuery] ページに移動します。
[エクスプローラ] ペイン(左側のペイン)で、[データセット] をクリックし、目的のデータセットをクリックします。 [概要] > [テーブル] をクリックし、データ品質スキャン結果を表示するテーブルを選択します。
[データ品質] タブをクリックします。
結果が Dataplex Universal Catalog メタデータとして公開されているデータ品質スキャンがテーブルにあるかどうかに応じて、次の方法でテーブルのデータ品質スキャンを操作できます。
データ品質スキャンの結果が公開されている: 最新のスキャン結果がページに表示されます。
このテーブルのデータ品質スキャンを管理するには、[データ品質スキャン] をクリックし、次のオプションから選択します。
新しいスキャンを作成: 新しいデータ品質スキャンを作成します。詳細については、このドキュメントのデータ品質スキャンを作成するをご覧ください。テーブルの詳細ページからスキャンを作成すると、テーブルが事前に選択されます。
今すぐ実行: スキャンを実行します。
スキャン構成を編集: 表示名、フィルタ、スケジュールなどの設定を編集します。
データ品質ルールを編集するには、[データ品質] タブで [ルール] タブをクリックします。[ルールの変更] をクリックします。ルールを更新して、[保存] をクリックします。
スキャン権限を管理: スキャン結果にアクセスできるユーザーを制御します。詳細については、このドキュメントのデータ品質スキャンの結果へのアクセスを許可するをご覧ください。
過去の結果を見る: 以前のデータ品質スキャンジョブの詳細情報を表示します。詳細については、このドキュメントのデータ品質スキャン結果を表示すると過去のスキャン結果を表示するのセクションをご覧ください。
すべてのスキャンを表示: このテーブルに適用されるデータ品質スキャンのリストを表示します。
データ品質スキャンの結果が公開されていない: 次のオプションから選択します。
データ品質スキャンの作成: 新しいデータ品質スキャンを作成します。詳細については、このドキュメントのデータ品質スキャンを作成するをご覧ください。テーブルの詳細ページからスキャンを作成すると、テーブルが事前に選択されます。
既存のスキャンを表示: このテーブルに適用されるデータ品質スキャンの一覧を表示します。
テーブルのデータ品質スキャンを表示する
特定のテーブルに適用されるデータ品質スキャンを表示する手順は次のとおりです。
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
テーブル名とスキャンタイプでリストをフィルタします。
データ品質スキャンを更新する
既存のデータ品質スキャンのさまざまな設定(表示名、フィルタ、スケジュール、データ品質ルールなど)を編集できます。
コンソール
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
データ品質スキャンの名前をクリックします。
表示名、フィルタ、スケジュールなどの設定を編集するには、[編集] をクリックします。値を編集し、[保存] をクリックします。
データ品質ルールを編集するには、スキャンの詳細ページで [現在のルール] タブをクリックします。[ルールの変更] をクリックします。ルールを更新して、[保存] をクリックします。
gcloud
データ品質スキャンの説明を更新するには、gcloud dataplex datascans update data-quality コマンドを使用します。
gcloud dataplex datascans update data-quality DATASCAN \ --location=LOCATION \ --description=DESCRIPTION
次のように置き換えます。
DATASCAN: 更新するデータ品質スキャンの名前。LOCATION: データ品質スキャンが作成された Google Cloud リージョン。DESCRIPTION: データ品質スキャンの新しい説明。
C#
C#
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Go
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Java
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Python
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Ruby
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
データ品質スキャンを編集するには、dataScans.patch メソッドを使用します。
データ品質スキャンを削除する
コンソール
コンソール
Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブに移動します。
削除するスキャンをクリックします。
[削除] をクリックし、プロンプトが表示されたら確定します。
gcloud
gcloud
データ品質スキャンを削除するには、gcloud dataplex datascans delete コマンドを使用します。
gcloud dataplex datascans delete DATASCAN \ --location=LOCATION \ --async
次の変数を置き換えます。
DATASCAN: 削除するデータ品質スキャンの名前。LOCATION: データ品質スキャンが作成された Google Cloud リージョン。
C#
C#
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Go
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Java
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Python
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
Ruby
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
REST
データ品質スキャンを削除するには、dataScans.delete メソッドを使用します。
次のステップ
- BigQuery のデータ ガバナンスについて詳細を確認する。