メインコンテンツまでスキップ

データ品質モニタリング結果 システムテーブル リファレンス

備考

ベータ版

この機能はベータ版です。

このページでは、データ品質モニタリング結果システム テーブル スキーマの概要を説明し、サンプル クエリを示します。 テーブルには、メタストア内のデータ品質モニタリングが有効になっているすべてのテーブルにわたる、最新性と完全性のチェックの結果、および下流への影響と根本原因の分析が保存されます。

テーブルパス : system.data_quality_monitoring.table_results

このテーブルにアクセスできるのはアカウント管理者のみであり、必要に応じて他のユーザーにアクセス権を付与する必要があります。システムテーブルは勝手にストレージを使用します。 サンプル値とダウンストリームの使用状況データが含まれているため、他のユーザーにアクセス権を付与する際には注意してください。

データ品質モニタリング結果テーブルのスキーマ

system.data_quality_monitoring.table_resultsテーブルは次のスキーマを使用します:

列名

コンテンツ( structデータ型の場合)

データ型

説明

サンプルデータ

event_time

timestamp

行が生成された時刻。

2025-06-27T12:00:00

catalog_name

string

カタログの名前。テーブルを識別するために使用されます。

main

schema_name

string

スキーマの名前。テーブルを識別するために使用されます。

default

table_name

string

テーブルの名前。テーブルを識別するために使用されます。

events

catalog_id

string

カタログの安定した ID。

3f1a7d6e-9c59-4b76-8c32-8d4c74e289fe

schema_id

string

スキーマの安定した ID。

3f1a7d6e-9c59-4b76-8c32-8d4c74e289fe

table_id

string

テーブルの安定した ID。

3f1a7d6e-9c59-4b76-8c32-8d4c74e289fe

status

string

テーブル レベルで統合されたヘルス ステータス。いずれかのチェックまたはグループが正常でない場合は、「異常」となります。

HealthyUnhealthyUnknown

freshness

struct

鮮度チェック。

status

string

全体的な鮮度の状態。

Unhealthy

commit_freshness

struct

コミットの鮮度チェック結果。

completeness

struct

完全性チェックの結果。

status

string

完全性チェックのステータス。

Unhealthy

total_row_count

struct

一定期間にわたるテーブル内の行の合計数。

daily_row_count

struct

毎日追加される行数。

downstream_impact

struct

依存関係グラフに基づく下流への影響の概要。

impact_level

int

重大度インジケーター (0 = なし、1 = 低、2 = 中、3 = 高、4 = 非常に高)。

2

num_downstream_tables

int

影響を受けるダウンストリーム テーブルの数。

5

num_queries_on_affected_tables

int

過去 30 日間に影響を受けていたダウンストリーム テーブルで実行されたクエリの数。

120

root_cause_analysis

struct

問題の原因となっている上流のジョブに関する情報。

upstream_jobs

array

各アップストリームジョブのメタデータ。

commit_freshness配列構造

commit_freshness構造体には次のものが含まれています。

アイテム名

データ型

説明

サンプルデータ

status

string

コミットの鮮度チェックのステータス。

Unhealthy

error_code

string

チェック中にエラー メッセージが検出されました。

FAILED_TO_FIT_MODEL

last_value

timestamp

最後のコミットのタイムスタンプ。

2025-06-27T11:30:00

predicted_value

timestamp

テーブルが更新されるはずだった予測時刻。

2025-06-27T11:45:00

total_row_countdaily_row_count配列構造

total_row_countおよびdaily_row_count構造体には次の内容が含まれます。

アイテム名

データ型

説明

サンプルデータ

status

string

チェックのステータス。

Unhealthy

error_code

string

チェック中にエラー メッセージが検出されました。

FAILED_TO_FIT_MODEL

last_value

int

過去 24 時間に観測された行数。

500

min_predicted_value

int

過去 24 時間の最小予想行数。

10

max_predicted_value

int

過去 24 時間の予想行数の最大数。

1000

upstream_jobs配列構造

upstream_jobs列に表示される配列の構造を次の表に示します。

アイテム名

データ型

説明

サンプルデータ

job_id

string

ジョブ ID。

12345

workspace_id

string

ワークスペース ID。

6051921418418893

job_name

string

ジョブの表示名。

daily_refresh

last_run_status

string

最新の実行のステータス。

SUCCESS

run_page_url

string

Databricks ジョブ実行ページの URL。

https://.../runs/123

下流への影響情報

ログに記録された結果テーブルでは、列downstream_impact次のフィールドを持つstructです。

フィールド

Type

説明

impact_level

int

データ品質の問題の重大度を示す 1 ~ 4 の整数値。値が高いほど混乱が大きいことを示します。

num_downstream_tables

int

特定された問題の影響を受ける可能性があるダウンストリーム テーブルの数。

num_queries_on_affected_tables

int

過去 30 日間に影響を受けるテーブルとダウンストリーム テーブルを参照したクエリの合計数。

クエリの例

実行する前に、問題の値を自分のものに置き換えてください。

スキーマ内の現在のインシデントをすべて取得する

SQL
WITH latest_rows AS (
SELECT
*,
ROW_NUMBER() OVER (
PARTITION BY table_id
ORDER BY event_time DESC
) AS rn
FROM
system.data_quality_monitoring.table_results
WHERE
catalog_name = "c"
AND schema_name = "s"
)

SELECT *
FROM latest_rows
WHERE
rn = 1
AND status = "Unhealthy"

下流への影響が大きいスキーマ内のすべてのインシデント テーブルを取得します。

SQL
WITH latest_rows AS (
SELECT
*,
ROW_NUMBER() OVER (
PARTITION BY table_id
ORDER BY event_time DESC
) AS rn
FROM
system.data_quality_monitoring.table_results
WHERE
catalog_name = "c"
AND schema_name = "s"
)
SELECT *
FROM latest_rows
WHERE rn = 1
AND downstream_impact.impact_level >= 3

スキーマ内で現在鮮度の問題の影響を受けているすべてのテーブルを取得します

SQL
WITH latest_rows AS (
SELECT
*,
ROW_NUMBER() OVER (
PARTITION BY table_id
ORDER BY event_time DESC
) AS rn
FROM
system.data_quality_monitoring.table_results
WHERE
catalog_name = "c"
AND schema_name = "s"
)

SELECT *
FROM latest_rows
WHERE rn = 1
AND freshness.status = "Unhealthy"

テーブルのすべての履歴レコードを取得する

SQL
SELECT *
FROM system.data_quality_monitoring.table_results
WHERE
catalog_name = "c"
AND schema_name = "s"
AND table_name = "t"