Dataphin でメトリクスの検証および品質モニタリングの効率化のための品質ルールを作成します。
前提条件
品質ルールを設定するには、まずモニタリング対象を追加する必要があります。詳細については、「モニタリング対象の追加」またはをご参照ください。
権限
-
スーパー管理者、品質管理者、[品質ルール]-[管理]>] 権限を持つカスタムグローバルロールのユーザー、テーブルのプロジェクトに対して [プロジェクト品質管理]-[品質ルール管理]>] 権限を持つカスタムプロジェクトロールのユーザー、およびメトリックビジネスオーナーは、品質ルールのスケジューリングとアラートを設定できます。
-
品質オーナーと一般ユーザーも、論理テーブルフィールドの読み取り権限が必要です。 テーブル権限の申請、更新、返却。
-
サポートされる操作は、オブジェクトによって異なります。 品質ルールの操作権限。
ルールチェック
弱いルールはアラートを送信します。強いルールは、アラートの送信に加えて、テーブルのポピュレートタスクをブロックしてダーティデータがダウンストリームに流れるのを防ぎます。
試行実行と実行
試行実行は、正確性を検証するためにルール 実行をシミュレートします。その結果は品質 レポートには含まれません。一方、実行は、指定された時刻にルールを実行し、結果を品質 レポートに出力します。
品質ルールの設定
-
Dataphin ホームページで、上部のナビゲーションバーから[ガバナンス] > [データ品質] を選択します。
-
左側のナビゲーションペインで、[クオリティルール] をクリックします。[メトリクス] ページで、対象のオブジェクト名をクリックして [クオリティルールの詳細] ページを開きます。
-
[品質ルール詳細] ページで、[品質ルールを作成] をクリックします。
-
[品質ルールの作成] ダイアログボックスで、パラメーターを設定します。
パラメータ
説明
基本情報
[ルール名]
品質ルールのカスタム名です。
[ルールの強度]
強度を[弱いルール] または [強いルール] に設定します。
-
[弱いルール]: チェックが失敗した場合、アラートは送信されますが、下流タスクはブロックされません。
-
[強ルール]:アラートをトリガーして下流タスク(コードチェックのスケジューリングやタスク トリガー スケジューリングなど)をブロックすることで、ダーティデータの拡散を防ぎます。下流タスク(定期的な品質スケジューリングなど)が存在しない場合は、アラートのみが送信されます。
[説明]
品質ルールの説明です。最大 128 文字です。
[設定方法]
-
[テンプレートから作成]: システムテンプレートまたはカスタムビジネステンプレートから品質ルールを作成します。
-
[システムテンプレート]:一般ルール向けです。組み込みパラメーターは設定可能です。
-
[カスタムテンプレート]:ビジネスロジックを含むルール用です。パラメーターは事前に設定されています。
-
-
[カスタム SQL]:複雑なシナリオでは、カスタム SQL を使用してルールを定義します。
[ルールテンプレート]
ドロップダウンリストからルールテンプレートを選択します。オプションには、[一意性]、[安定性]、[カスタム SQL] があります。
-
[一意性]:[フィールドグループ数のチェック] と [重複フィールド値の数のチェック] が含まれます。
-
[安定性]: [フィールド安定性チェック] と [フィールド変動チェック] が含まれます。
-
[カスタム SQL]: [カスタム統計メトリックチェック] が含まれます。
詳細については、「品質ルールテンプレートタイプ」をご参照ください。
[ルールタイプ]
テンプレートに関連付けられた基本属性です。説明やフィルターに使用されます。
ルール設定
[ルール設定]
[ルールテンプレート] を [一意性] に設定した場合、以下のパラメーターが利用可能です。
-
[フィールドグループ数のチェック]/[重複フィールド値数のチェック]:
-
[チェックテーブルデータのフィルタリング]: デフォルトでは無効になっています。有効にすると、チェック対象テーブルのフィルター条件 (パーティションフィルターまたはデータフィルター) を設定できます。Dataphin はこの条件をチェッククエリに追加します。パーティションテーブルの場合、パーティション粒度で品質レポートを表示するには、スケジューリング設定でパーティション式を設定します。データフィルタリングの内容を入力します。例:
id = 12 -- 単一テーブルの場合T1.id=12 and T2.name = "田中" -- 2 つのテーブルの場合
-
[ルールテンプレート] を [安定性] に設定した場合、以下のパラメーターが利用可能です。
-
[フィールド安定性チェック]/[フィールド変動チェック]:
-
[統計方法]:ビジネスシナリオに基づいて統計方法を選択します。
-
[テーブルデータフィルタリングのチェック]: デフォルトでは無効になっています。有効にすると、チェック対象のテーブルのフィルター条件 (パーティションフィルターまたはデータフィルター) を設定します。Dataphin はこの条件をチェッククエリに追加します。パーティションテーブルの場合、パーティションの粒度で品質レポートを表示するには、スケジュール設定でパーティション式を設定します。データフィルタリングの内容を入力します。例:
id = 12 -- 単一テーブルの場合T1.id=12 and T2.name = "田中" -- 2 つのテーブルの場合
-
[ルールテンプレート] を [カスタム SQL] に設定した場合、次のパラメーターが使用可能になります。
-
[カスタム統計メトリックチェック]:
-
[カスタム SQL]:
SELECTステートメントをサポートします。クエリにはプライマリ テーブルを含める必要があります。例:select sum(sale) from tableA where ds=${bizdate};
-
チェック設定
[ルールチェック]
-
チェック結果は、異常チェック設定と比較されます。条件が満たされた場合、チェックは失敗し、アラートがトリガーされます。
-
利用可能な異常チェックメトリックは、テンプレートと設定によって異なります。条件は
ANDまたはORを使用して組み合わせます。3 つ以下の条件を推奨します。
メトリックチェック設定をご参照ください。
ビジネス属性設定
属性情報
品質ルールの属性設定で、ビジネス属性を入力するための基準を定義します。例:
-
担当部門にマッピングされたフィールドの値タイプは列挙 (複数選択) です。使用可能な値は、ビッグデータ部門、ビジネス部門、テクノロジー部門です。品質ルールを作成する際、この属性はこれらの値を持つ複数選択ドロップダウンリストとして表示されます。
-
ルールオーナーにマッピングされたフィールドの値タイプはカスタム入力で、フィールドの最大長は 256 文字です。品質ルールを作成する際、この属性には最大 256 文字を入力できます。
属性フィールドの入力方法が [範囲] の場合、以下のように設定します:
範囲は、通常、連続する数値または日付値に使用されます。演算子 [>]、[>=]、[<]、および [<=] から選択できます。属性設定の詳細については、「品質ルールの属性を作成および管理する」をご参照ください。
スケジューリング属性設定
[スケジューリング方法]
既存のスケジュールを選択するか、品質ルールを先に作成して後からスケジューリングを設定します。スケジュールの作成をご参照ください。
-
-
[保存]をクリックして、ルール設定を完了します。
[SQL プレビュー] をクリックすると、現在の設定を最後に保存されたバージョンと比較し、SQL の変更を表示できます。
説明-
主要な情報が不足しているため、SQL プレビューは利用できません。
-
左側の SQL プレビューには、最後に保存された設定が表示されます。設定が保存されていない場合は空です。右側の SQL プレビューには、現在の設定が表示されます。
ルール設定リスト
設定されたメトリックルールを表示し、表示、編集、トライアル実行、実行、削除などの操作を実行します。

エリア
説明
① [フィルタと検索エリア]
オブジェクト名またはルール名ですばやく検索できます。
ルールタイプ、ルールテンプレート、ルールの強度、トライアル実行ステータス、有効ステータスでフィルターできます。
説明品質ルールのビジネス属性が検索またはフィルター可能に設定されており、有効になっている場合、その属性で検索またはフィルタリングできます。
② [リストエリア]
オブジェクトタイプ/名前、ルール名/ID、トライアル実行ステータス、[有効ステータス]、[ルールタイプ]、[ルールテンプレート]、[ルールの強度]、スケジューリングタイプ、関連するナレッジベースドキュメントの情報が表示されます。更新ボタンの前にある
アイコンをクリックして、ルールリストに表示する列を選択します。-
[有効ステータス]: ルールを有効にする前に試行を実行します。試行に合格したルールのみを有効にすることで、誤ったルールが本番タスクをブロックするのを防ぎます。
-
ルールを有効にすると、スケジュールに従って自動的に実行されます。
-
ルールを無効にすると、自動的には実行されなくなりますが、手動で実行できます。
-
-
[関連ナレッジベースドキュメント]: [詳細の表示] をクリックすると、ルールに関連付けられているナレッジベース情報を表示できます。これには、テーブル名、チェックオブジェクト、ルール、関連ナレッジベースドキュメントが含まれます。また、ナレッジベースドキュメントを検索、表示、編集、削除することもできます。ナレッジベースの表示。
③ [操作エリア]
表示、クローン、編集、トライアル実行、実行、スケジューリング設定、ナレッジベースドキュメントの関連付け、削除などの操作を実行できます。
-
[表示]:ルール設定の詳細を表示します。
-
[複製]:ルールをすばやく複製します。
-
[編集]: 編集すると、新しいトライアルランが必要になります。
-
[試行]: [既存のスケジュール] または [カスタムチェック範囲] を使用してルールを試行できます。 試行後、
アイコンをクリックして [試行ログを表示] できます。 -
[実行]: [既存のスケジュール] または [カスタムチェック範囲] を使用してルールを実行できます。実行後、[チェックレコード] でチェック結果を表示できます。
-
[スケジューリングの設定]: ダイアログボックスで、スケジューリングタイプによる絞り込み、スケジュール名での検索、およびスケジュールの編集が可能です。
-
[ナレッジベースドキュメントの関連付け]:ルールをナレッジベースドキュメントに関連付けると、Quality Rules と Governance Workbench で関連情報を表示できます。 関連付けられていないナレッジベースドキュメントを選択できます。 作成するには、ナレッジベースの作成と管理をご参照ください。
-
[削除]: クオリティルールオブジェクトを削除すると、そのすべてのクオリティルールも削除されます。この操作は元に戻せません。慎重に実行してください。
④ [一括操作エリア]
トライアル実行、実行、スケジューリング設定、有効化、無効化、ビジネス属性の変更、ナレッジベースドキュメントの関連付け、削除などの一括操作が可能です。
-
[トライアル実行]:[既存のスケジュール] または [カスタムチェック範囲] を使用して、ルールの一括トライアル実行ができます。トライアル実行後、
アイコンをクリックして [トライアル実行ログを表示] できます。 -
[実行]: [既存のスケジュール] または [カスタムチェック範囲] を使用してルールを一括実行します。実行後、[チェック記録] でチェック結果を表示できます。
-
[スケジューリングの設定]:ダイアログボックスでは、スケジューリングタイプでスケジュールを絞り込んだり、スケジュール名で検索したりできます。また、スケジュールを編集して、複数の品質ルールに一括で設定することもできます。品質ルールリストページで編集可能な、選択したルールのみ変更できます。
-
[有効化]:ルールを一括で有効にすると、スケジュールに従って自動的に実行されます。品質ルールリストページで編集可能な、選択したルールのみが有効化できます。
-
[無効化]:ルールを一括で無効化すると、自動では実行されなくなりますが、手動での実行は可能です。クオリティルールリストページで編集可能な、選択したルールのみを無効化できます。
-
[ビジネス属性の変更]:対応するフィールド値タイプが単一選択または複数選択の場合、ビジネス属性を一括で変更できます。
-
フィールド値タイプが複数選択の場合、属性値を追加または変更できます。
-
フィールド値タイプが単一選択の場合、属性値を直接変更できます。
-
-
[ナレッジベースドキュメントの関連付け]: ルールをナレッジベースドキュメントに関連付けると、クオリティルールとガバナンスワークベンチで関連情報を表示できます。 ナレッジベースドキュメントを監視オブジェクトに一括で関連付けることができます。 ナレッジベースドキュメントを作成するには、ナレッジベースの作成と管理をご参照ください。
-
[削除]: 品質ルールオブジェクトを一括で削除できます。この操作は元に戻せません。注意して実行してください。品質ルール一覧ページで編集可能な、選択したルールのみ削除できます。
-
スケジュールの作成
-
既存のスケジュールに基づいてスケジュールを作成できます。テーブルあたり最大 20 個のスケジューリングルールを設定できます。
-
1 つのルールには最大 10 個のスケジュールを設定できます。
-
スケジュール設定が同一の場合、自動的に重複排除されます。
-
チェック範囲は、チェックステートメントのスコープをフィルタリングし、品質レポートなどのダウンストリームプロセスの基本単位として機能します。品質レポートは、チェック範囲の粒度で表示されます。
-
[クオリティルールの詳細] ページで、[スケジューリング設定] タブをクリックし、[スケジュールの作成] をクリックして [スケジュールの作成] ダイアログボックスを開きます。
-
[スケジュールの作成] ダイアログボックスで、パラメータを設定します。
パラメータ
説明
[スケジュール名]
スケジュールのカスタム名です。
[スケジューリングタイプ]
[時間ベースのスケジューリング]、[データ更新トリガーのスケジューリング]、または [固定タスクトリガーのスケジューリング] を選択できます。
-
[時間ベースのスケジューリング]: 設定されたスケジュールで定期的に品質チェックを実行します。固定間隔で生成されるデータに最適です。
[スケジューリング周期]: 品質ルールの実行はコンピューティングリソースを消費します。本番タスクへの干渉を防ぐため、複数のルールを同時に実行することは避けてください。利用可能な周期は [日]、[週]、[月]、[時]、[分] です。
システムタイムゾーン (ユーザーセンターのタイムゾーン) とスケジューリングタイムゾーン ([管理センター] > [システム設定] > [基本設定] で設定されたタイムゾーン) が異なる場合、ルールはシステムタイムゾーンに基づいて実行されます。
-
[データ更新トリガーのスケジューリング]: コードタスクが現在のテーブルで指定されたチェック範囲を更新したかどうかを確認します。 変更タスクが変動するテーブル、またはすべての変更を監視する必要がある重要なテーブルに最適です。
説明チェック範囲を、タスクによって更新されたパーティションに設定します。非パーティション化テーブルの場合、テーブル全体がチェックされます。システムはすべてのデータ変更を自動的に検出し、変更の見逃しを防ぎます。
-
[固定タスクトリガー型スケジューリング]: 指定したタスクが正常に完了する前後に、設定済みの品質ルールを実行します。 ルールは、次のノードタイプのタスクに基づいてトリガーできます: SQL、Offline Pipeline、Python、Shell、Virtual、Dlink、Spark_jar、Hive_MR、および Database SQL。 これは、変更タスクが固定されているテーブルに適しています。
説明-
固定タスクトリガーには本番環境タスクのみを選択できます。強いルールが設定されており、スケジュールされたタスクチェックが失敗した場合、本番タスクに影響を与える可能性があります。ビジネス要件に基づいて慎重に実行してください。
-
サポートされるエンジンタイプは、MaxCompute、E-MapReduce 3.X、E-MapReduce 5.x、CDH 5.X、CDH 6.X、FusionInsight 8.X、AsiaInfo DP 5.3、Cloudera Data Platform 7.x、Lindorm (コンピューティングエンジン)、Transwarp TDH 6.x、Transwarp TDH 9.3.x です。
-
[トリガー時間]: 品質チェックがトリガーされるタイミングを選択します。[すべてのタスクが正常に実行された後にトリガー]、[各タスクが正常に実行された後にトリガー]、または[各タスクの実行前にトリガー]を選択できます。
-
[タスクのトリガー]:以下のロールは、本番プロジェクトからタスクノードを選択してタスクをトリガーできます。また、ノードの出力名で検索することもできます。
-
Prod/Basic プロジェクトのプロジェクト管理者であるか、Prod プロジェクトで Ops システムロールを持っているか、Basic プロジェクトで Developer システムロールを持っているか、または Prod/Basic プロジェクトで [プロジェクト品質管理]-[品質ルール管理] 権限を持つカスタムプロジェクトロールを持っているユーザーは、本番プロジェクトからタスクノードを選択できます。
-
[品質ルール]-[管理] 権限を付与するカスタムグローバルロールを持つユーザーは、すべての本番プロジェクトからタスクノードを選択できます。
説明トリガー時刻が [すべてのタスクが正常に実行された後にトリガー] の場合、ルール実行と品質チェック結果の遅延を避けるため、同じスケジューリング周期を持つタスクを選択してください。
-
-
[スケジューリング条件]
デフォルトでは無効です。有効にすると、システムはルールを実行する前にスケジューリング条件が満たされているかどうかをチェックします。条件が満たされている場合のみスケジュールが実行され、満たされていない場合はスキップされます。
-
[ビジネス日付]/[実行日]: [時間ベースのスケジューリング] (実行日はサポートされていません)、[データ更新トリガーのスケジューリング]、または [固定タスク トリガーのスケジューリング] を選択した場合に、日付を設定できます。[共通カレンダー] または [カスタムカレンダー] を選択できます。カスタムカレンダーを作成するには、パブリックカレンダーの作成をご参照ください。
-
[共通カレンダー] を選択した場合、使用できる条件は [月]、[曜日]、[日付] です。例:

-
[カスタムカレンダー] を選択した場合、利用可能な条件は [日付タイプ] と [タグ] です。例:

-
-
[インスタンスタイプ]:[データ更新トリガースケジューリング] または [固定タスクリガースケジューリング] を選択した場合、インスタンスタイプを設定できます。 オプションには、[定期インスタンス]、[補塡インスタンス]、および [手動インスタンス] が含まれます。 例:

説明-
少なくとも 1 つのルールを設定する必要があります。ルールを追加するには、[+ ルールを追加] をクリックします。
-
スケジューリング条件は最大 10 個です。
-
スケジューリング条件間の関係は、AND または OR に設定できます。
[チェック範囲]
スケジューリングタイプが [時間ベースのスケジューリング] または [固定タスクトリガーのスケジューリング] の場合、チェック範囲を [カスタムチェック範囲] に設定できます。スケジューリングタイプが [データ更新トリガーのスケジューリング] の場合、チェック範囲を [タスクによって更新されたパーティション] または [カスタムチェック範囲] に設定できます。
-
[タスク更新パーティション]:トリガータスクがパーティションを更新した場合、品質チェックはそのパーティションで直接実行されます。
説明-
動的パーティションシナリオでは、パーティションが解決されない場合があり、品質チェックは実行されません。
-
パーティションサイズ、行数、フィールド統計のチェックなどの変動チェックルールは、特定のパーティションを必要とするため、タスクによって更新されたパーティションのチェック範囲をサポートしていません。
-
非パーティション化テーブルが更新された場合、テーブル全体がチェックされます。
-
-
[カスタムチェック範囲]:パーティションを解決できないシナリオでは、カスタムチェック範囲を使用して、業務日または実行日に基づいてパーティション式を指定できます。
-
[チェック範囲式]: 入力も可能なドロップダウンリストです。
ds='${yyyyMMdd}'のように、チェックする範囲を直接入力できます。 また、組み込みパーティション式を選択して変更し、設定をすばやく構成することもできます。 組み込みパーティション式のタイプ。説明-
複数の条件がある場合は、and または or を使用して、
province="Zhejiang" and ds<=${yyyyMMdd}.のように連結できます。 -
品質ルールでフィルタ条件が設定されている場合、パーティション式とフィルタ条件は AND 演算子で結合されます。
-
パーティション式はフルテーブルスキャンをサポートします。
注:フルテーブルスキャンは大量のリソースを消費し、一部はサポートされていません。フルテーブルスキャンを避けるため、パーティション式を設定してください。
-
-
[チェック範囲の見積もり]: デフォルト値は現在の営業日です。
-
-
-
[OK] をクリックして、スケジューリング設定を完了します。
スケジューリング設定リスト
スケジュールを作成した後、スケジューリング設定リストで表示、編集、複製、削除できます。

|
エリア |
説明 |
|
① [フィルタと検索エリア] |
スケジュール名ですばやく検索できます。 [時間ベースのスケジューリング]、[データ更新トリガーのスケジューリング]、または [固定タスクトリガーのスケジューリング] で絞り込むことができます。 |
|
② [リストエリア] |
各スケジュールの[スケジュール名]、[スケジューリングタイプ]、[最終更新者]、および[最終更新日時]を表示します。 |
|
③ [操作エリア] |
スケジュールの編集、複製、削除ができます。
|
アラート設定
ルールごとに異なるアラートメソッドを設定します。例えば、強いルールが失敗した場合は電話を、弱いルールが失敗した場合は SMS を使用します。ルールが複数のアラート設定に一致する場合は、ポリシーを設定して、どの設定を有効にするかを決定します。
モニタリング対象ごとに最大 20 個のアラート設定が可能です。
-
[品質ルール詳細] ページで、[アラート設定] タブをクリックし、次に [アラート設定の作成] をクリックして [アラート設定の作成] ダイアログボックスを開きます。

-
[アラート設定の作成] ダイアログボックスで、パラメーターを設定します。
パラメータ
説明
[適用範囲]
[すべてのルール]、[すべての強力なルール]、[すべての弱いルール]、または[カスタム]を選択します。
説明-
単一のモニタリング対象に対し、[すべてのルール]、[すべての強いルール]、[すべての弱いルール] の各スコープに 1 つずつアラート設定を作成できます。新しいルールは、その強度に基づいて対応するアラートに自動的に関連付けられます。これらのアラート設定のいずれかを変更するには、既存の設定を編集する必要があります。
-
カスタムスコープの場合、現在のモニタリング対象配下で設定されたルールから最大 200 個を選択できます。
[アラート設定名]
モニタリング対象ごとに一意にする必要があります。最大 256 文字です。
[アラート受信者]
少なくとも 1 つのアラート受信者と 1 つのアラートメソッドを選択してください。
-
[アラート受信者]:カスタム、オンコールスケジュール、または品質責任者を選択できます。
カスタムのアラート受信者は最大 5 件、オンコールスケジュールは最大 3 件まで設定できます。
-
[アラート方法]: 電話、メール、SMS、DingTalk、Lark、WeCom、またはカスタムチャネルを選択できます。これらの方法は「チャネル設定の構成」を使用して管理できます。
-
-
[OK] をクリックしてアラート設定を完了します。
アラート設定リスト
アラートを設定した後、アラート設定リストでその設定の並べ替え、編集、削除ができます。

|
エリア |
説明 |
|
① 並べ替えエリア |
品質ルールが複数のアラート設定に一致する場合のアラートポリシーを設定します。
|
|
② リストエリア |
名前、有効範囲、各アラートタイプの具体的な受信者と、それに対応するアラートメソッドが表示されます。 [有効範囲]:カスタムアラートでは、設定済みのオブジェクト名とルール名を表示できます。ルールが削除された場合、オブジェクト名は表示できなくなります。アラート設定を更新することをお勧めします。 |
|
③ 操作エリア |
アラート設定を編集および削除できます。
|
品質レポートの表示
[品質レポート] をクリックして、現在の品質ルールの [ルールチェック概要] と [ルールチェック詳細] を表示します。
-
異常結果、パーティション時間、またはルールやオブジェクト名のキーワードで、チェック詳細を素早くフィルターできます。
-
ルールチェック詳細リストの操作列で、
アイコンをクリックすると、ルールチェック詳細が表示されます。 -
ルールチェック詳細リストの操作列で、
アイコンをクリックすると、実行ログが表示されます。
品質ルールの権限
-
[権限管理] をクリックし、[表示可能な詳細] を設定して、チェックレコードの詳細、品質ルールの詳細、および品質レポートを表示できるメンバーを指定します。
[表示範囲]: [すべてのメンバー] または [現在のオブジェクトの品質管理権限を持つメンバーのみ] を選択できます。
-
[OK] をクリックして権限管理設定を完了します。
次のステップ
設定後、品質ルール一覧ページで品質ルールを表示します。モニタリングオブジェクト一覧の表示、。
