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

エリア | 説明 |
① フィルターと検索エリア | オブジェクトまたはルール名で検索できます。 ルールタイプ、ルールテンプレート、ルールの重大度、[Trial Run Status]、および有効ステータスでフィルタリングできます。 説明 ビジネス属性が検索可能またはフィルタリング可能として設定され、有効になっている場合、その属性で検索またはフィルタリングできます。 |
② リストエリア | このエリアには、オブジェクトタイプ/名前、ルール名/ID、[Trial Run Status]、有効ステータス、ルールタイプ、ルールテンプレート、ルールの重大度、スケジュールタイプ、および関連するナレッジベースドキュメント情報が表示されます。[更新] ボタンの横にある
|
③ 操作エリア | ルールの表示、複製、編集、トライアル実行、実行、スケジューリング設定、ナレッジベースドキュメントの関連付け、および削除ができます。
|
④ 一括操作エリア | トライアル実行、実行、スケジューリング設定、有効化、無効化、ビジネス属性の変更、ナレッジベースドキュメントの関連付け、削除など、一括操作を実行できます。
|
スケジュールの作成
ルールのスケジュールを設定する際、現在のテーブルの既存のスケジュールから選択できます。各テーブルには最大 20 個のスケジュールを設定できます。
1 つのルールに最大 10 個のスケジュールを関連付けることができます。
同一のスケジュール設定は自動的に重複排除されます。
[品質ルールの詳細] ページで、[スケジューリング設定] タブをクリックし、次に [スケジュールの作成] をクリックして [スケジュールの作成] ダイアログボックスを開きます。
[Create Schedule] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
スケジュール名
スケジュールのカスタム名を入力します。
スケジュールタイプ
定期スケジューリング、データ更新トリガースケジューリング、または 固定タスクトリガースケジューリングを選択できます。
[定期スケジューリング]: 固定の定期スケジュールでデータ品質チェックを実行します。これは、データが予測可能なタイミングで生成されるシナリオに適しています。
[スケジューリングサイクル]:品質ルールを実行すると、コンピューティングリソースが消費されます。本番タスクの正常な運用に影響を与えないように、複数の品質ルールを同時に実行しないことを推奨します。スケジューリングサイクルには、[日]、[週]、[月]、[時間]、[分] の 5 種類があります。
システムタイムゾーン (ユーザーセンターのタイムゾーン) がスケジューリングタイムゾーン ([Management Center] > [System Settings] > [Basic Settings] で設定) と異なる場合、ルールはシステムタイムゾーンに基づいて実行されます。
[データ更新トリガーによるスケジューリング]: いずれかのコードタスクが実行されると、システムは現在のテーブルで指定されたチェック範囲が更新されたかどうかを判断します。この機能は、更新タスクが予測不能なテーブルや、変更のたびにモニタリングが必要な重要なテーブルに使用します。
説明チェック範囲をタスクによって更新されるパーティションに設定することを推奨します。パーティション化されていないテーブルの場合、テーブル全体がチェックされます。システムはすべてのデータ変更を自動的に検出し、チェックを実行するため、見落としを防ぐのに役立ちます。
[固定タスクトリガーのスケジューリング]: 指定されたタスクが成功した後、または実行される前に、設定された品質ルールを実行します。このスケジューリングは、次のタイプのタスクによってトリガーできます: SQL、オフラインパイプライン、Python、Shell、仮想、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 TDH 6.x、および Transwarp TDH 9.3.x が含まれます。
[トリガー条件]: 品質チェックのトリガー条件として、[すべてのタスクが正常に実行された後にトリガー]、[各タスクが正常に実行された後にトリガー]、または[各タスクが実行される前にトリガー] を選択できます。
[タスクのトリガー]: 以下のロールは、本番プロジェクトからタスクノードを選択してタスクをトリガーできます。 また、ノードの出力名で検索することもできます。
Prod プロジェクトまたは Basic プロジェクトのプロジェクト管理者である場合、Prod プロジェクトの O&M システムロールを持っている場合、Basic プロジェクトの開発者システムロールを持っている場合、または Prod プロジェクトまたは Basic プロジェクトで [プロジェクト品質管理]-[品質ルール管理] 権限を持つカスタムプロジェクトロールを持っている場合は、本番プロジェクトでタスクノードを選択できます。
Prod/Basic プロジェクトに対する [クオリティルール] - [管理] 権限を持つカスタムグローバルロールは、すべての本番プロジェクトでタスクノードを選択できます。
説明トリガータイミングとして [Trigger after all tasks are successfully run] を選択する場合、ルールと同じスケジューリングサイクルを共有するトリガータスクを選択してください。これにより、異なるスケジューリングサイクルによるルールの実行遅延や品質チェック結果の遅延を防ぎます。
[スケジューリング条件]
デフォルトでは無効になっています。有効にすると、システムは品質ルールをスケジューリングする前に、まずスケジューリング条件を検証します。条件が満たされた場合にのみスケジュールが実行され、それ以外の場合は現在のスケジュールはスキップされます。
[業務日付]/[実行日]: スケジューリングタイプとして[定期スケジューリング] (実行日はサポートされていません)、[データ更新トリガースケジューリング]、または[固定タスクリガースケジューリング]を選択した場合、日付を設定できます。 [標準カレンダー] または [カスタムカレンダー] を選択できます。 カスタムカレンダーの作成方法の詳細については、「パブリックカレンダーの作成」をご参照ください。
[標準カレンダー] を選択すると、次の図に示すように、利用可能な条件は [月]、[曜日]、および [日付] です。

[カスタムカレンダー] を選択した場合、[日付タイプ] と [タグ] の条件を選択できます。 次の図は一例です。

[インスタンスタイプ]: [データ更新トリガーのスケジューリング] または [固定タスクトリガーのスケジューリング] を選択した場合、[定期インスタンス]、[補填インスタンス]、または [手動インスタンス] を選択できます。 次の図に示すように:

説明少なくとも 1 つのルールを設定してください。ルールを追加するには、[+ ルールを追加] をクリックします。
最大 10 個のスケジューリング条件を設定できます。
スケジューリング条件間の関係は AND または OR に設定できます。
[OK] をクリックして、スケジュールの設定を完了します。
スケジューリング設定リスト
スケジューリング設定リストから、作成したスケジュールの表示、編集、複製、削除ができます。

エリア | 説明 |
① フィルターと検索エリア | スケジュール名で検索できます。 [定期スケジューリング]、[データ更新トリガースケジューリング]、または [固定タスクトリガースケジューリング] でフィルターできます。 |
② リストエリア | ルール設定リストには、[スケジュール名]、[スケジュールタイプ]、[最終更新者]、および[最終更新日時]が表示されます。 |
③ 操作エリア | スケジュールの編集、複製、削除ができます。
|
アラート設定
異なるルールに対して異なるアラート方法を設定して区別することができます。たとえば、ブロックルールの失敗には電話アラート、警告ルールの失敗には SMS アラートを設定できます。ルールが複数のアラート設定をトリガーする場合、どのアラートを優先するかを決定するポリシーを設定できます。
1 つのモニタリングオブジェクトに対して最大 20 個のアラート設定を作成できます。
[クオリティルール詳細] ページで、[アラート設定] タブをクリックし、次に [アラート設定の作成] をクリックすると、[アラート設定の作成] ダイアログボックスが開きます。
[アラート設定の作成] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
[スコープ]
[すべてのルール]、[すべての強いルール]、[すべての弱いルール]、または [カスタム] を選択できます。
説明1 つのモニタリングオブジェクトに対して、[すべてのルール]、[すべてのブロックルール]、[すべての警告ルール] の各範囲に 1 つのアラート設定を設定できます。新しいルールは、その重大度に基づいて対応するアラート設定を自動的に使用します。これらの設定のいずれかを変更するには、既存の設定を編集する必要があります。
[カスタム] 範囲では、現在のモニタリングオブジェクトに対して設定されているルールのうち最大 200 個まで選択できます。
[アラート設定名]
アラート設定名は、1 つのモニタリングオブジェクト内で一意である必要があり、最大 256 文字です。
[アラート通知先]
アラートの受信者と方法を設定します。少なくとも 1 人の受信者と 1 つの方法を選択する必要があります。
[アラート通知先]: 通知先タイプとして、カスタム、オンコールスケジュール、または品質担当者を選択できます。
最大 5 人のカスタムアラート受信者と最大 3 つのオンコールスケジュールを設定できます。
[アラート方法]: 配信方法として、電話、メール、SMS、DingTalk、Lark、WeChat Work、またはカスタムチャネルを選択できます。この配信方法は、チャネル設定を使用して管理できます。
[OK] をクリックしてアラートの設定を完了します。
アラート設定リスト
アラートを設定した後、アラート設定リストから並べ替え、編集、削除ができます。

エリア | 説明 |
① 並べ替えエリア | 品質ルールが複数のアラート設定に一致する場合のアラートポリシーを設定します:
|
② リストエリア | このエリアには、アラート設定の名前、その範囲、各アラートタイプの特定の受信者、および対応するアラート配信方法が表示されます。 [スコープ]: カスタムアラートの場合、設定されたオブジェクト名とルール名が表示されます。ルールが削除された場合、その名前は表示されなくなります。アラート設定を更新してください。 |
③ 操作エリア | 設定したアラートを編集および削除できます。
|
品質レポート
[Quality Report] をクリックして、現在の品質ルールの [Rule Check Overview] と [Rule Check Details] を表示します。
異常結果、パーティション時間、またはルールやオブジェクト名のキーワードでチェック詳細を素早くフィルタリングできます。
ルールチェック詳細リストの [操作] 列で、
アイコンをクリックして品質ルールのチェック詳細を表示します。ルールチェック詳細リストの [操作] 列で、
アイコンをクリックして品質ルールの実行ログを表示します。
権限管理
[権限管理] をクリックし、[詳細の表示] を設定して、チェックレコードの詳細、品質ルールの詳細、および品質レポートを表示できるメンバーを指定します。
[閲覧可能者]: [すべてのメンバー] または [現在のオブジェクトに対する品質管理権限を持つメンバーのみ] を選択します。
[OK] をクリックして権限設定を保存します。
次のステップ
品質ルールを設定した後、リアルタイムメタテーブルルールリストで確認できます。詳細については、「モニタリングオブジェクトリストの表示」をご参照ください。
