DataWorks の Data Quality は、さまざまな組み込み監視テンプレートを提供しています。このトピックでは、Data Quality の検証ロジックと、使用可能な組み込み監視ルールテンプレートについて説明します。
組み込みルールテンプレートの説明
組み込みルールテンプレートを使用して、単一または複数のテーブルの監視ルールを迅速に確立します。詳細については、「参照ドキュメント」または「参照ドキュメント」をご参照ください。
|
テンプレートの分類 |
テンプレート名 |
説明 |
|
行数 |
固定値 |
行数。 |
|
テーブルが空でない |
テーブルに 0 を超える行が含まれていることを確認します。 |
|
|
1 日差分 |
テーブルの行数の日次変化。 説明
ベースラインは、前の日のパーティション行数です。 | |
|
前の周期からのテーブル行数の変化 |
現在の日の行数を最後のサイクルのパーティションと比較して変動を検出し、設定されたしきい値と比較します。 |
|
|
1 日、7 日、30 日、および月の 1 日の変動 |
現在の日の行数を、前日、7 日前、30 日前、および現在の月の 1 日の行数と比較して変動を検出し、設定されたしきい値と比較します。しきい値を超えるとアラートが発行されます。 |
|
|
1 日、7 日、30 日の変動 |
現在の日の行数を、前日、7 日前、30 日前の行数と比較して変動を検出します。 説明
変動は設定されたしきい値と比較され、しきい値を超えるとアラートが発行されます。 |
|
|
1 日の変動 |
現在の日の行数を前の日の行数と比較して変動を検出し、設定されたしきい値と比較します。しきい値を超えるとアラートが発行されます。 |
|
|
30 日の変動 |
現在の日の行数を 30 日前の行数と比較して変動を検出し、設定されたしきい値と比較します。しきい値を超えるとアラートが発行されます。 |
|
|
7 日の変動 |
現在の日の行数を 7 日前の行数と比較して変動を検出し、設定されたしきい値と比較します。しきい値を超えるとアラートが発行されます。 |
|
|
テーブル行 |
[比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、システムはインテリジェントアルゴリズムを使用して変動しきい値を自動的に決定し、異常を検出するとアラートまたはブロックをトリガーします。 |
|
|
30 日平均変動 |
過去 30 日間の合計行数を 30 で割って計算された 30 日平均に対するテーブル行数の変動を監視します。 | |
|
7 日平均変動 |
過去 7 日間の合計行数を 7 で割って計算された 7 日平均に対するテーブル行数の変動を監視します。 |
|
|
上位サイクル変動 |
現在の日の行数を最後のサイクルのパーティションと比較して変動を検出します。 |
|
|
テーブル行数のカスタム範囲 |
ビジネス要件に応じて、テーブル行数の比較方法としきい値範囲をカスタマイズできます。 |
|
|
条件付きパーセント |
一致した条件のパーセンテージとカスタム範囲 |
ビジネス要件に応じて、フィルター条件の一致率の比較方法としきい値範囲をカスタマイズできます。 |
テーブルサイズ | テーブルサイズの固定値。 | テーブルのサイズ (バイト単位)。 |
テーブルサイズ: 定期的な差分 | 過去 24 時間のテーブルのストレージサイズの変更 (バイト単位)。 | |
テーブルサイズ: 定期的な差分 | 前の周期からのテーブルサイズの変更 (バイト単位)。 | |
テーブルサイズ: 1 日の変動 | このテンプレートは、現在の日のテーブルサイズを前の日と比較することで、テーブルサイズの変動を監視します。Data Quality は変動を計算し、事前に定義されたしきい値と比較します。変動がこれらのしきい値を超えると、アラートが生成されます。 たとえば、警告しきい値を 5%、エラーしきい値を 10% に設定できます。変動が 5% を超えて 10% 以下の場合は、警告アラートが発行されます。変動が 10% を超える場合は、エラーアラートが発行されます。 | |
テーブルサイズ: 30 日の変動 | この監視テンプレートは、30 日間にわたるテーブルサイズの変化を追跡します。Data Quality は、現在の日のテーブルサイズを 30 日前のテーブルサイズと比較して変動を判断します。次に、この変動を事前に定義されたしきい値と比較し、しきい値を超えた場合、Data Quality はアラートをトリガーします。 | |
テーブルサイズ: 7 日の変動 | この監視テンプレートは、現在の日のテーブルサイズを 7 日前のテーブルサイズと比較することで、テーブルサイズの変化を追跡します。Data Quality は変動を計算し、事前に定義されたしきい値と比較します。変動がこれらのしきい値を超えると、アラートが発行されます。 | |
テーブルサイズ | [比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、変動しきい値または期待値を手動で構成する必要はありません。インテリジェントアルゴリズムにより、システムはしきい値を自動的に決定できます。データ異常が発生した場合、システムは迅速にアラートをトリガーするか、ブロックを実装します。 | |
NULL 値の数 | NULL 値の数: 固定値 | Data Quality は、フィールド内の NULL 値の数を事前に決定された固定値と比較します。 説明 値が SQL の |
単一フィールドに NULL 値がない | フィールドに NULL 値が含まれていないことを確認します。 | |
NULL 値の数 / テーブル数 | NULL の数 / 行の総数: 固定値 | Data Quality は、固定小数値を使用して、フィールド内の NULL 値の数と行の総数の比率を測定します。 説明 固定値は小数として表されます。 |
フォーマット検証 | 正規表現検証 | フィールドが指定された正規表現に準拠していることを確認します。 |
日付フォーマット検証 | フィールドが指定された日付フォーマットに準拠していることを確認します。 | |
メールフォーマット検証 | フィールドがメールフォーマットに準拠していることを確認します。 | |
ID カードフォーマット検証 | フィールドが ID カードフォーマットに準拠していることを確認します。 | |
携帯電話番号フォーマット検証 | フィールドが携帯電話番号フォーマットに準拠していることを確認します。 | |
通貨フォーマット検証 | フィールドが通貨フォーマットに準拠していることを確認します。 | |
数値フォーマット検証 | フィールドが数値フォーマットに準拠していることを確認します。 | |
電話番号フォーマット検証 | フィールドが電話番号フォーマットに準拠していることを確認します。 | |
重複値の数 | 繰り返し値、固定値 | Data Quality は、フィールドの重複値の数を事前に決定された固定値と比較します。 |
単一フィールドに重複値がない | フィールドに重複値が含まれていないことを確認します。 | |
複数フィールドにわたる個別カウント | フィールド全体で重複値がない | 複数フィールドにわたって重複値のインスタンスが 0 であることを確認します。 |
重複値と行の総数の比率 | 繰り返し値と行の総数の比率、固定値 | Data Quality は、フィールドの重複値と行の総数の比率を評価し、固定値と比較します。 |
個別カウント | 一意の値、固定値 | Data Quality は、重複排除後のフィールドの一意の値の数を事前に決定された値と比較します。 |
一意の値の数: 1 日、7 日、30 日の変動 | Data Quality は、現在の日の重複排除後のカウントを、前日、7 日前、および 30 日前のカウントと比較することで、フィールドの一意の値の変動を評価します。次に、これらの変動を事前に定義されたしきい値と比較します。 | |
一意の値 | [比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、変動しきい値または期待値を手動で構成する必要はありません。インテリジェントアルゴリズムにより、システムはしきい値を自律的に確立できます。データ異常を検出すると、システムは迅速にアラートをトリガーするか、ブロックを実装します。 | |
一意の値と行の総数の比率 | 一意の値と行の総数の比率、固定値 | Data Quality は、事前に決定された値を使用して、フィールド内の一意の値の割合を行の総数と比較します。 |
|
最小値 |
最小値: 1 日、7 日、30 日の変動 |
Data Quality は、現在の日のフィールドの最小値を、前日、7 日前、および 30 日前の平均値と比較して変動を検出します。次に、これらの変動を事前に定義されたしきい値と比較します。変動がこれらのしきい値を超えると、Data Quality はアラートをトリガーします。 |
動的しきい値の最小値 | [比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、変動しきい値または期待値を手動で構成する必要はありません。インテリジェントアルゴリズムにより、システムはしきい値を自律的に確立できます。データ異常が発生した場合、システムは迅速にアラートをトリガーするか、ブロックを実装します。 | |
最小値: 1 日の変動 | Data Quality は、現在の日の数値を前の日と比較することで、フィールドの最小値を評価して変動を計算します。次に、この変動を事前に定義されたしきい値と比較します。 | |
前の周期からの最小値の変動 | Data Quality は、現在の日のフィールドの最小値を前のサイクルと比較して変動を判断します。次に、この変動を事前に定義されたしきい値と比較し、変動がしきい値を超えた場合、アラートがトリガーされます。 | |
ユーザー定義最小値条件 | 特定のビジネス要件を満たすために、フィールドの最小値の比較方法としきい値範囲を定義できます。 | |
最大値 | 最大値: 1 日、7 日、30 日の変動 | Data Quality は、現在の日のフィールドの最大値を、前日、7 日前、および 30 日前の平均値と比較して変動を判断します。次に、この変動を事前に定義されたしきい値と比較します。変動がしきい値を超えると、Data Quality はアラートをトリガーします。 |
最大値と動的しきい値 | [比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、変動しきい値または期待値を手動で構成する必要はありません。インテリジェントアルゴリズムにより、システムはしきい値を自律的に決定できます。データ異常を検出すると、システムは迅速にアラートをトリガーするか、ブロックを実装します。 | |
1 日の最大変動 | Data Quality は、フィールドの現在の日の値を前の日と比較することで、フィールドの最大値の変動を評価します。次に、この変動を事前に定義されたしきい値と比較します。 | |
最大値と前の周期の変動 | Data Quality は、現在の日のフィールドの最大値を最後のサイクルの最大値と比較して変動を判断します。次に、この変動を事前に定義されたしきい値と比較します。変動がしきい値を超えると、Data Quality はアラートをトリガーします。 | |
ユーザー定義条件付き最大値 | ビジネスニーズに応じて、フィールドの最大値の比較方法を定義し、しきい値範囲を設定できます。 | |
平均 | 平均 1 日、7 日、30 日の変動 | Data Quality は、現在の日のフィールドの平均値を計算し、前日、7 日前、および 30 日前の平均値と比較して変動を評価します。次に、これらの変動を事前に定義されたしきい値と比較します。変動がしきい値を超えると、Data Quality はアラートを発行します。 説明 Data Quality は、現在の日のフィールドの平均値を計算し、前日、7 日前、および 30 日前の値と比較します。 |
|
平均値の動的しきい値 |
[比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、変動しきい値または期待値を手動で構成する必要はありません。システムはインテリジェントアルゴリズムを使用してこれらのしきい値を自動的に決定します。データ異常が発生した場合、システムは迅速にアラートをトリガーするか、予防措置を講じます。 |
|
1 日の平均変動 | Data Quality は、フィールドの現在の日の平均値を前の日と比較することで、フィールドの 1 日の平均変動を計算します。次に、この変動を事前に定義されたしきい値と比較します。 | |
ユーザー定義条件付き平均値 | ビジネスニーズに応じて、フィールドの平均値の比較方法を定義し、しきい値範囲を設定できます。 | |
合計 | 合計値: 1 日、7 日、30 日の変動 | Data Quality は、現在の日のフィールドの値の合計を評価し、前日、7 日前、および 30 日前の平均値と比較して変動を検出します。次に、これらの変動は事前に定義されたしきい値と比較されます。変動がこれらのしきい値のいずれかを超えると、Data Quality はアラートをトリガーします。 |
|
集計値と動的しきい値 |
[比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、変動しきい値または期待値を手動で構成する必要はありません。システムはインテリジェントアルゴリズムを使用してしきい値を確立し、データ異常を検出すると、迅速にアラートを開始するか、ブロックします。 |
|
合計値: 1 日の変動 | Data Quality は、現在の日のフィールドの値の合計を前の日と比較することで、1 日の変動を計算します。次に、この変動を事前に定義されたしきい値と比較します。 | |
合計: 値の期間変動 | Data Quality は、現在の日のフィールドの値の合計を計算し、前のサイクルの合計と比較して変動を判断します。次に、これらの変動を事前に定義されたしきい値と比較します。変動がしきい値を超えると、Data Quality はアラートをトリガーします。 | |
ユーザー定義条件付き合計値 | ビジネスニーズに応じて、集計フィールド値の比較方法を定義し、しきい値範囲を設定できます。 | |
列挙 | 列挙値が予想される一意の値の数と一致しません。 | Data Quality は、一致しない列挙項目の数が事前に決定された値と一致するかどうかを確認します。 |
列挙値が行数と一致しません。固定値です。 | Data Quality は、一致しない列挙項目を持つ行の発生を事前に決定された固定値と比較します。 | |
行数が 0 の場合の列挙値の不一致 | 予期される正常な状態: 固定値と比較方法は =0 に設定する必要があります。一致しない列挙値を持つ行数が 0 を超えると、アラートがトリガーされます。 | |
列挙値: カスタム、固定値。 | 列挙項目の数、行番号、比較方法、しきい値、および追加の統計メトリックをカスタマイズできます。 | |
離散値 | 離散値 (ステータス値)、固定値 | Data Quality は、フィールドの各グループ内の値の数を事前に決定された固定値と比較します。 |
離散値 (グループの数): 固定値 | `group by` 操作によって返されるグループ数を静的フィールドと比較します。 | |
離散値 (グループの数) | [比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、変動しきい値または期待値を手動で構成する必要はありません。システムはインテリジェントアルゴリズムを使用してしきい値を決定します。データ異常が発生した場合、システムは迅速にアラートをトリガーするか、ブロックを実装します。 | |
離散値 (ステータス値) | [比較方法] パラメーターが [インテリジェント動的しきい値] に設定されている場合、変動しきい値または期待値を手動で構成する必要はありません。インテリジェントアルゴリズムはしきい値を決定し、システムはデータ異常を検出すると迅速にアラートをトリガーするか、ブロックします。 | |
離散値 (グループの数): 1 日の変動 | 変動率は、`group by` 操作後のグループ数を前日のサンプルのグループ数と比較して計算されます。 | |
離散値 (グループの数とステータス値): 1 日、7 日、30 日の変動 | 変動率は、`group by` 操作によるグループ数と各グループのカウントを、1、7、30 日前の同じメトリックと比較して計算されます。 |
E-MapReduce (EMR) テーブルは、テーブルサイズベースの監視ルールをサポートしていません。
計算式の説明
変動率は次の数式を使用して計算されます:(現在値 - ベースライン値) / ベースライン値。現在値は、現在のチェックの実際のメトリック値です。ベースライン値は、選択したテンプレートによって決定されます。例:
N 日変動率テンプレートの場合、ベースライン値は N 日前のメトリック値です。
N 日平均変動率テンプレートの場合、ベースライン値は過去 N 日間のメトリック値の平均です。
前周期変動率テンプレートの場合、ベースライン値は前のスケジューリング周期のメトリック値です。
検証ロジック
Data Quality は、固定値との比較、変動比較、動的しきい値の 3 つの検証メソッドをサポートしています。
検証方法 | 検証ロジック |
固定値との比較 | 検証式を計算し、ブール値を返します。次の比較演算子がサポートされています: |
変動比較 | このメソッドは、メトリックの変化の大きさを監視します。3 つの比較タイプをサポートしています:
システムは、設定した警告しきい値とエラーしきい値に基づいてアラートレベルを決定します。 |
動的しきい値 | しきい値を設定する必要はありません。システムは、アルゴリズムモデルに基づいてメトリックをリアルタイムで自動的にチェックします。メトリックの値が妥当な範囲外になった場合は、アラートが報告されます。 |
付録 1: 上位期間の説明
最後のサイクルのタスクは、同じ データ タイムスタンプ を持つタスクを除いて、ベースラインとして使用できます。タスクはデータタイムスタンプの降順で並べ替えられ、最も早く実行されたタスクがベースラインになります。詳細については、以下の表を参照してください。
スケジューリングタイプ | データタイムスタンプ | ベースライン比較方法 | FAQ |
日次スケジューリング | 過去のデータタイムスタンプ:
| データタイムスタンプが 2024 年 6 月 6 日のインスタンスが監視ルールに基づいてチェックを開始すると、データタイムスタンプが 2024 年 6 月 5 日のインスタンスがベースラインとして使用されます。 | データバックフィルシナリオ: 背景: スケジューリングノードは、2024 年 6 月 1 日から 2024 年 6 月 5 日まで想定どおりに実行されます。データタイムスタンプが 2024 年 6 月 5 日のインスタンスの実行が完了した後、データバックフィル操作が実行され、2024 年 7 月 1 日のデータがスケジューリングノードにバックフィルされます。この場合、データタイムスタンプが 2024 年 6 月 6 日のインスタンスが監視ルールに基づいてチェックを開始するときに比較に使用できるベースラインは何ですか? 結論: データタイムスタンプが 2024 年 6 月 6 日のインスタンスは、データタイムスタンプが 2024 年 7 月 1 日のインスタンスをベースラインとして使用します。データタイムスタンプが 2024 年 7 月 1 日のインスタンスは、データタイムスタンプが 2024 年 7 月 2 日のインスタンスの実行が完了する前にベースラインとして使用されます。 |
時間単位のスケジューリング | 過去のデータタイムスタンプ:
タスクは 1 時間ごとにスケジュールされ、1 日に 3 回実行されます。 | データタイムスタンプが 2024 年 6 月 4 日のインスタンスが監視ルールに基づいてチェックを開始すると、データタイムスタンプが 2024 年 6 月 3 日の最後のインスタンスがベースラインとして使用されます。 | 時間単位のスケジューリングシナリオ: 背景: 2024 年 6 月 1 日から 2024 年 6 月 3 日までの毎日 3 つのインスタンスが生成され、想定どおりに実行されます。また、データタイムスタンプが 2024 年 6 月 4 日の最初のインスタンスも想定どおりに実行されます。この場合、データタイムスタンプが 2024 年 6 月 4 日の 2 番目のインスタンスが監視ルールに基づいてチェックを開始するときに比較に使用できるベースラインは何ですか? 結論: データタイムスタンプが 2024 年 6 月 4 日の最初のインスタンスは除外されます。データタイムスタンプが 2024 年 6 月 3 日の最後のインスタンスがベースラインとして使用されます。 |
付録 2: 時間単位のタスクについて N 日前に収集されたサンプル値の説明
時間単位のタスクの場合、N 日前のサンプル値は、N 日目の実行時間(スケジュールされた時間ではなく)でタスクをソートすることで決定されます。最初のインスタンスの結果データが比較用のサンプルとして使用されます。詳細については、以下の表をご参照ください。
スケジューリングタイプ | データタイムスタンプ | 変動比較方法 | FAQ |
時間単位のスケジューリング | 過去のデータタイムスタンプ:
タスクは 1 時間ごとにスケジュールされ、1 日に 3 回実行されます。 | 7 日間の変動を取得する場合、実行時間が 2024 年 6 月 8 日のインスタンスが監視ルールに基づいてチェックを開始するときに、実行時間が 2024 年 6 月 1 日の最後のインスタンスの出力データからサンプル値が抽出されます。 | 時間単位のスケジューリングシナリオ: 背景: 2024 年 6 月 1 日から 2024 年 6 月 8 日までの毎日 3 つのインスタンスが生成されます。この場合、実行時間が 2024 年 6 月 8 日の 2 番目のインスタンスが監視ルールに基づいてチェックを開始するときに、7 日間の変動を取得するために比較に使用できるサンプル値は何ですか? 結論: 実行時間が 2024 年 6 月 8 日の 2 番目のインスタンスが監視ルールに基づいてチェックを開始するときに、実行時間が 2024 年 6 月 1 日の最後のインスタンスの出力データが、7 日間の変動を取得するための比較のサンプル値として使用されます。 |