このトピックでは、リアルタイムメタテーブルの品質ルールを作成する方法について説明します。
前提条件
品質ルールは、監視対象を追加した後にのみ設定できます。監視対象の追加方法の詳細については、「監視対象の追加」または「」をご参照ください。
権限
スーパー管理者、品質管理者、[品質ルール]-[管理] 権限を持つカスタムグローバルロールのユーザー、メタテーブルのプロジェクトで [プロジェクト品質管理]-[品質ルール管理] 権限を持つカスタムプロジェクトロールのユーザー、およびリアルタイムメタテーブルのオーナーは、品質ルールのスケジューリング、アラート、およびランタイム設定を行うことができます。
品質オーナーまたは一般ユーザーは、リアルタイムメタテーブルに対する同期読み取り権限も持っている必要があります。この権限を申請するには、「テーブル権限の申請、更新、および取り消し」をご参照ください。
サポートされている操作は、オブジェクトによって異なります。詳細については、「品質ルール操作に関する権限」をご参照ください。
ドライランと実行の違い
ドライランと実行は、実行方法と結果の表示方法が異なります。ドライランは、品質ルールの正確性とパフォーマンスを検証するためのシミュレーションであり、その結果は品質レポートに表示されません。実行は、指定した時刻に品質ルールを実際に実行することであり、その結果は品質レポートに含まれます。
メタテーブルルール
ルールタイプ | 説明 |
統計トレンドモニタリング | データ値とデータ変更トレンドを検証します。 |
リアルタイムマルチリンク比較 | 高い事業継続性が求められるシナリオでは、リアルタイムのデュアルリンクまたはトリプルリンクの品質ルールを使用してデータをモニタリングできます。異常が発生した場合、運用担当者は速やかに |
リアルタイムデータとオフラインデータの照合 | リアルタイムデータとオフラインデータが同じ |
品質ルールの設定
Dataphin ホームページの上部のナビゲーションバーで、[ガバナンス] > [データ品質]を選択します。
左側のナビゲーションペインで、[品質ルール] をクリックします。[リアルタイムメタテーブル] ページで、目的のオブジェクトの名前をクリックして [品質ルールの詳細] ページを開き、品質ルールを設定します。
[品質ルールの詳細] ページで、[品質ルールの作成] をクリックします。
[品質ルールの作成] ダイアログボックスで、パラメーターを設定します。
パラメータ
説明
基本情報
[ルール名]
品質ルールの名前を入力します。
[ルールの強度]
[弱いルール] または [強いルール] を選択できます。
[弱いルール] を選択した場合、品質チェックが失敗するとアラートがトリガーされますが、下流のタスクノードはブロックされません。
[強ルール] を選択すると、品質チェックが失敗したときにアラートがトリガーされます。コードチェックのスケジューリングまたはタスク起動のスケジューリングによってトリガーされる下流タスクがある場合、システムは破損したデータの拡散を防ぐためにタスクをブロックします。定期的な品質スケジューリングの場合など、下流タスクがない場合は、アラートのみがトリガーされます。
[説明]
品質ルールの説明を入力します。説明は 128 文字までです。
[ルールテンプレート]
一貫性または安定性のルールテンプレートを選択できます。
[整合性]: [リアルタイムおよびオフライン比較] および [リアルタイムリンク比較] が含まれます。
[安定性]: [リアルタイム統計値チェック] が含まれます。
詳細については、「リアルタイムメタテーブルのテンプレートタイプ」をご参照ください。
[ルールタイプ]
ルールタイプはテンプレートに関連付けられた基本属性で、説明やフィルタリングに使用されます。
ルール設定
[ルール設定]
選択した[ルールテンプレート]に基づいてルールを設定します。 詳細については、「オフラインリンク比較パラメーターを設定する」と「複数リンク比較パラメーターを設定する」をご参照ください。
検証設定
[ルール検証]
システムがデータ品質ルールを検証した後、結果を例外検証設定と比較します。結果が例外条件を満たす場合、検証は失敗し、システムはアラートなどの後続プロセスを起動します。
例外検証に使用できるメトリクスは、テンプレートとその設定によって決まります。複数の条件に対して AND/OR ロジックを使用できますが、3 つ以下の条件を使用することを推奨します。
詳細については、「検証設定の詳細」をご参照ください。
ビジネス属性設定
属性情報
ビジネス属性の入力形式は、品質ルール属性の設定によって異なります。たとえば、管理部門フィールドの値タイプが列挙 (複数選択) で、ビッグデータ部門、ビジネス部門、テクノロジー部門などのオプションがある場合、品質ルールを作成する際、この属性はこれらのオプションを含む複数選択ドロップダウンリストになります。
ルール所有者フィールドの値タイプがカスタム入力で最大長が 256 文字の場合、この属性には最大 256 文字の文字列を入力できます。
属性フィールドの入力方法が [範囲] の場合、次のように設定します。
範囲: 通常、連続した数値または日付の範囲に使用されます。演算子 [>]、[>=]、[<]、および [<=] を使用できます。属性設定の詳細については、「品質ルールのプロパティの作成と管理」をご参照ください。
スケジューリング属性設定
[スケジューリングタイプ]
事前に設定されたスケジュールを選択できます。スケジューリングタイプをまだ決定していない場合は、品質ルールの作成後に設定できます。新しいスケジュールを作成するには、「スケジュールの作成」をご参照ください。
[OK] をクリックして、品質ルールの設定を完了します。
[SQL をプレビュー] をクリックすると、現在の設定の SQL と最後に保存された設定の SQL を比較し、SQL の変更を確認できます。
説明必要な情報が不足している場合、[SQL のプレビュー] ボタンは無効になります。
左側のペインには、最後に保存した設定の SQL プレビューが表示されます。設定が保存されていない場合、このペインは空になります。右側のペインには、現在の設定の SQL プレビューが表示されます。
ルール設定リスト
ルール設定リストページでは、設定されたメタテーブルルールを表示し、表示、編集、ドライラン、実行、削除などの操作を実行できます。

エリア | 説明 |
① **[フィルタと検索エリア]** | オブジェクトまたはルール名ですばやく検索できます。 ルールタイプ、ルールテンプレート、ルールの強度、ドライランステータス、有効ステータスでフィルタリングできます。 説明 ビジネス属性が検索可能またはフィルタリング可能に設定され、有効になっている場合、その属性で検索またはフィルタリングできます。 |
② **[リストエリア]** | 設定されたルールに関する情報 (オブジェクトタイプ/名前、ルール名/ID、ドライランステータス、有効ステータス、[ルールタイプ]、[ルールテンプレート]、[ルールの強度]、スケジューリングタイプ、関連するナレッジベースドキュメントの情報) が表示されます。更新ボタンの前にある
|
③ Operations area | 次の操作を実行できます:表示、クローン、編集、ドライラン、実行、スケジューリング設定、ナレッジベースドキュメントの関連付け、削除。
|
④ **[バッチ操作エリア]** | 次の操作を一括で実行できます:ドライラン、実行、スケジューリング設定、有効化、無効化、ビジネス属性の変更、ナレッジベースドキュメントの関連付け、削除。
|
スケジュールの作成
ルールのスケジュールを設定する際、現在のテーブルにある既存のスケジュールから選択できます。各テーブルには最大 20 個のスケジュールを作成できます。
1 つのルールには最大 10 個のスケジュールを関連付けることができます。
設定が同一の重複したスケジュールは自動的に削除されます。
[品質ルール詳細] ページで [スケジューリング設定] タブをクリックし、[スケジューリングの作成] ボタンをクリックします。[スケジューリングの作成] ダイアログボックスが開きます。
[スケジュールの作成] ダイアログボックスで、パラメータを設定します。
パラメータ
説明
スケジュール名
スケジュールの名前を入力します。
スケジューリングタイプ
[時間ベースのスケジューリング]、[データ更新によってトリガーされるスケジューリング]、または [指定タスクによってトリガーされるスケジューリング] を選択できます。
[時間ベースのスケジューリング]:固定された定期的なスケジュールで品質チェックを実行します。これは、データが予測可能なタイミングで生成されるシナリオに適しています。
[スケジューリング周期]:品質ルールの実行はコンピューティングリソースを消費します。本番タスクへの影響を防ぐため、複数の品質ルールを同時に実行しないことを推奨します。スケジューリング周期は[日]、[週]、[月]、[時間]、または[分]に設定できます。
システムタイムゾーン (ユーザーセンターのタイムゾーン) がスケジューリングタイムゾーン ([管理センター] > [システム設定] > [基本設定] で設定されたタイムゾーン) と異なる場合、ルールはシステムタイムゾーンに基づいて実行されます。
[データ更新をトリガーとするスケジューリング]: いずれかのコードタスクが実行されると、その実行によって現在のテーブルの指定された検証範囲が更新されるかどうかがチェックされます。これは、さまざまなタスクによって変更されるテーブル、または変更のたびにモニタリングが必要な重要なテーブルに適しています。
説明検証範囲は、タスクによって更新されたパーティションに設定することを推奨します。非パーティションテーブルの場合、テーブル全体が検証されます。システムは自動的にすべてのデータ変更を検出して検証し、漏れを防ぎます。
[指定タスクをトリガーとするスケジューリング]: 指定タスクの正常完了後、または開始前に、設定済みの品質ルールを実行します。 トリガーには、SQL、オフラインパイプライン、Python、Shell、Virtual、Dlink、Spark_jar、Hive_MR、およびデータベース 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 Data Hub (TDH) 6.x、および TDH 9.3.x です。
[トリガー時間]:品質チェックをトリガーするタイミングを選択します。オプションには、[すべてのタスクが正常に実行された後にトリガー]、[タスクが正常に実行されるたびにトリガー]、および[各タスクの実行前にトリガー]があります。
[トリガータスク]: 以下のロールは、本番プロジェクトのタスクノードをトリガーとして選択できます。ノードの出力名で検索することもできます。
Prod/Basic プロジェクトのプロジェクト管理者、Prod プロジェクトの Ops システムロールを持つユーザー、Basic プロジェクトの Developer システムロールを持つユーザー、および Prod/Basic プロジェクトで [プロジェクト品質管理]-[品質ルール管理] 権限を持つカスタムプロジェクトロールのユーザーは、本番プロジェクトからタスクノードを選択できます。
[品質ルール]-[管理] 権限を持つカスタムグローバルロールのユーザーは、すべての本番プロジェクトからタスクノードを選択できます。
説明[すべてのタスクが正常に実行された後にトリガー] を選択する場合、品質ルールと同じスケジューリングサイクルを持つトリガータスクを選択することを推奨します。これにより、ルールの実行と結果の遅延を防ぎます。
[スケジューリング条件]
この機能はデフォルトで無効になっています。有効にすると、システムは品質ルールを実行する前にスケジューリング条件が満たされているかどうかをチェックします。ルールは条件が満たされている場合にのみ実行されます。それ以外の場合、スケジュールされた実行はスキップされます。
[業務日]/[実行日]: スケジュールタイプが [時間ベースのスケジューリング] (実行日はサポートされていません)、[データ更新によってトリガーされるスケジューリング]、または [指定されたタスクによってトリガーされるスケジューリング] の場合、日付条件を設定できます。[一般カレンダー] または [カスタムカレンダー] を選択できます。カスタムカレンダーの作成方法については、「公開カレンダーの作成」をご参照ください。
[一般カレンダー] を選択した場合、条件は [月]、[曜日]、または [日付] になります。次の図を参照してください。

[カスタムカレンダー]を選択した場合、条件は[日付タイプ]または[タグ]になります。 次の図をご参照ください。

[インスタンスタイプ]: スケジュールタイプが [データ更新によってトリガーされるスケジューリング] または [指定されたタスクによってトリガーされるスケジューリング] の場合、インスタンスタイプを設定できます。オプションには、[定期インスタンス]、[バックフィルインスタンス]、および [手動インスタンス] があります。次の図をご参照ください:

説明少なくとも 1 つのルールを設定する必要があります。ルールを追加するには、[+ ルールの追加] をクリックします。
最大 10 個のスケジューリング条件を設定できます。
スケジューリング条件間の関係を AND または OR に設定できます。
[OK] をクリックして、スケジュール設定を保存します。
スケジューリング設定リスト
スケジュールが作成されると、スケジューリング設定リストから表示、編集、クローン作成、削除を行うことができます。

エリア | 説明 |
① フィルターと検索エリア | スケジュール名で検索できます。 [時間ベースのスケジューリング]、[データ更新によってトリガーされるスケジューリング]、または [指定タスクによってトリガーされるスケジューリング] で絞り込むことができます。 |
② リストエリア | 設定済みのルールの[スケジュール名]、[スケジューリングタイプ]、[最終更新者]、および[最終更新日時]を表示します。 |
③ 操作エリア | スケジュールの編集、クローン作成、削除を行うことができます。
|
アラート設定
ルールごとに異なるアラート方法を設定して、アラートを区別できます。たとえば、強いルールが失敗した場合は電話アラート、弱いルールが失敗した場合は SMS アラートを設定できます。ルールが複数のアラート設定に一致する場合は、どの設定を有効にするかを決定するポリシーを定義できます。
1 つの監視対象に対して作成できるアラート設定は最大 20 件です。
[Quality Rule Details] ページで [Alert Configuration] タブをクリックし、[Create Alert Configuration] ボタンをクリックして [Create Alert Configuration] ダイアログボックスを開きます。
[Create Alert Configuration] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
[スコープ]
[All rules]、[All strong rules]、[All weak rules]、または [Custom] を選択できます。
説明1 つの監視対象に対して、[All rules]、[All strong rules]、[All weak rules] のスコープごとに、それぞれ 1 つのアラート設定を作成できます。新しいルールは強度に基づいて、対応するアラート設定に自動的に一致します。これらの設定を変更する場合は、既存の設定を編集してください。
カスタムスコープの場合、現在の監視対象に含まれる既存ルールを最大 200 件まで選択できます。
[アラート設定名]
アラート設定名は、1 つの監視対象内で一意にする必要があり、最大 256 文字です。
[アラート受信者]
アラート受信者とアラート方法を設定します。少なくとも受信者を 1 人、方法を 1 つ選択する必要があります。
[アラート受信者]:[カスタム]、[オンコールスケジュール]、または [品質オーナー] を選択できます。
カスタムのアラート受信者は最大 5 人まで、オンコールスケジュールは最大 3 件まで設定できます。
[アラート方法]:通知方法として、電話、メール、SMS、DingTalk、Lark、WeCom、および Custom Channel を選択できます。これらの通知方法は、チャネル設定 を使用して管理できます。
[OK] をクリックして、アラート設定を保存します。
アラート設定リスト
アラート設定の作成後、アラート設定リストで並べ替え、編集、削除ができます。

番号 | 説明 |
① 並べ替えエリア | 品質ルールが複数のアラート設定に一致する場合のアラートポリシーを設定します。
|
② リストエリア | 名前、有効範囲、アラートタイプごとの具体的な受信者、および対応するアラート方法が表示されます。 [有効範囲]:カスタムアラートの場合、設定したオブジェクト名とルール名を確認できます。ルールが削除されると、そのルールはスコープに表示されなくなります。設定の整合性を保つため、アラート設定を更新することを推奨します。
|
③ 操作エリア | アラート設定を編集および削除できます。
|
品質レポートの表示
[品質レポート] をクリックして、現在の品質ルールの [ルール検証概要] と [ルール検証詳細] を表示します。
検証詳細は、例外結果、パーティション時間、またはルール / オブジェクト名のキーワードでフィルターできます。
ルール検証詳細リストの [操作] 列で
アイコンをクリックすると、品質ルールの検証詳細を表示できます。ルール検証詳細リストの [操作] 列で
アイコンをクリックすると、品質ルールの実行ログを表示できます。
クオリティルールの権限管理
[権限管理] をクリックし、[表示可能な詳細] で、検証レコードの詳細、品質ルールの詳細、および品質レポートの表示権限を設定します。
[表示範囲]: [すべてのメンバー] または [現在のオブジェクトに対する品質管理権限を持つメンバーのみ] を選択できます。
[OK] をクリックして権限設定を保存します。
品質ルールのランタイム設定
品質ルールタスクがタイムアウトにより自動的に終了した場合、そのステータスは「失敗」になります。対応する実行ログは、検証レコードの詳細ページで確認できます。
品質ルールが失敗時にリトライするように設定されている場合、検証レコードの詳細ページの実行ログでリトライの記録を確認できます。
1 つの監視対象について、すべての品質ルール (まだ実行されていない新規および既存のルールを含む) は、最新のランタイム設定を使用します。
[ランタイム設定] タブをクリックし、下部にある [編集] をクリックして、パラメーターを設定します。
パラメーター
説明
[スコープ]
[すべてのルール]、[すべての強いルール]、[すべての弱いルール]、または [カスタム] を選択できます。
[実行タイムアウト]
品質ルールタスクの実行時間が指定されたしきい値を超えた場合、システムは自動的にタスクを終了し、失敗としてマークします。この時間にはリソースやスケジューリングの待機時間は含まれません。システムのデフォルトは 1 時間です。0 から 2 時間の範囲でカスタム時間を設定でき、小数点以下 2 桁の精度で指定できます。
[失敗時の自動リトライ]
品質ルールタスクが失敗した場合、[再試行回数]と[間隔]に基づいて再試行されるように設定できます。この機能はデフォルトで無効になっています。
[再試行回数]: 失敗したタスクが自動的に再試行される最大回数です。デフォルトは 1 です。1 から 3 までの整数を設定できます。
[間隔]: 各自動リトライ間の時間間隔です。デフォルトは 0 分です。0 から 10 分までの整数を設定できます。
[OK] をクリックしてランタイム設定を保存します。
次のステップ
品質ルールを設定した後、リアルタイムメタテーブルのルールリストページで確認できます。詳細については、「監視オブジェクトリストの表示」および「」をご参照ください。

