Dataphin は、データソースの接続性とそのテーブル構造のあらゆる変更を監視します。品質ルールは定期的に変更をチェックし、例外に対するアラートを設定することで、データソースのステータスをリアルタイムで把握できます。このトピックでは、データソースの品質ルールを設定する方法について説明します。
前提条件
品質ルールを設定する前に、監視対象を追加する必要があります。詳細については、「監視対象の追加」をご参照ください。
制限事項
Dataphin では、任意のデータソースに対して品質監視ルールを作成できます。サポートされているすべてのデータソースで接続性をテストできますが、テーブル構造の変更に関する品質ルールをサポートしているのは一部のデータソースのみです。詳細については、「Dataphin がサポートするデータソース」をご参照ください。
権限
スーパー管理者、品質管理者、[Quality Rules]-[Manage] 権限を持つカスタムグローバルロールのユーザー、およびデータソース所有者は、品質ルールのスケジュール、アラート、および実行設定を構成できます。
品質オーナーと一般ユーザーには、データソースの同期読み取り権限も必要です。データソースの権限を申請する方法については、「データソース権限の申請」をご参照ください。
サポートされる操作権限はオブジェクトによって異なります。詳細については、「品質ルールの操作権限」をご参照ください。
ドライランと実行の比較
ドライラン と 実行 は、実行方法と結果の表示場所が異なります。ドライラン は、品質ルールの正確性とパフォーマンスをテストするための模擬実行です。ドライランの結果は品質レポートに表示されません。実行 は、品質ルールのスケジュールされたチェックです。実行 の結果は品質レポートに出力されます。
品質ルールの設定
Dataphin のホームページで、上部メニューから [Governance] > [Data Quality] を選択します。
左側メニューで、[Quality Rules] をクリックします。[Data Source] ページで、ターゲットオブジェクトの名前をクリックして [Quality Rule Details] ページを開きます。
[Quality Rule Details] ページで、[New Quality Rule] をクリックします。
[New Quality Rule] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
基本情報
[ルール名]
品質ルールのカスタム名です。名前は 256 文字までです。
[ルールの強度]
ルールの強度は、[弱いルール] または [強いルール] に設定できます。
[弱いルール]: [Weak rule] を選択した場合、品質ルールチェックで異常な結果が出てもアラートがトリガーされるだけで、下流のタスクノードはブロックされません。
[強いルール]: [Strong rule] を選択した場合、品質ルールチェックが失敗するとアラートがトリガーされます。下流タスク (コードチェックのスケジューリングやタスクトリガースケジュールなど) がある場合、汚染されたデータの拡散を防ぐためにタスクもブロックされます。下流タスク (定期的な品質スケジューリングなど) がない場合は、アラートのみがトリガーされます。
[説明]
品質ルールのカスタムの説明です。説明は 128 文字までです。
[ルールテンプレート]
[Stability] のみがサポートされており、これには [データソースの接続性モニタリング] と [テーブル構造の変更モニタリング] が含まれます。
[接続性モニタリング]: Dataphin で設定されたデータソースを監視し、ネットワークの変更や不正な認証情報 (ユーザー名またはパスワード) などの問題による接続障害を検出します。これにより、タスクの失敗につながる可能性があります。接続性の変更に対する監視とアラートを設定できます。
[テーブル構造の変更]: 上流テーブルの構造的な変更 (フィールドの名前変更、追加、削除など) を監視します。これにより、下流のエラーが発生する可能性があります。これらの変更に対する監視とアラートを設定できます。
[ルールタイプ]
テンプレートから派生したルールタイプは、説明とフィルタリングに使用される基本属性です。
ルール設定
[検証するテーブルの選択]
このパラメーターは、[テーブル構造の変更モニタリング] ルールテンプレートを選択した場合に使用できます。DB またはスキーマに基づいて検証するデータテーブルを選択します。
ビジネスプロパティ設定
プロパティ情報
ビジネスプロパティの要件は、基盤となる属性定義によって異なります。たとえば、「管理部門」の属性が、ビッグデータ部門、事業部門、技術部門などのオプションを持つ複数選択の列挙型として設定されている場合、ルール作成時にこのフィールドはそれらのオプションを持つ複数選択のドロップダウンメニューとして表示されます。
「ルールオーナー」の属性が最大長 256 文字のカスタム入力として設定されている場合、最大 256 文字のテキスト文字列を入力できます。
属性の入力方法が [Range] の場合は、次のように設定します。
Range: 連続した数値または日付値に使用されます。演算子 [>]、[>=]、[<]、および [<=] を使用できます。属性の設定の詳細については、「品質ルールプロパティの作成と管理」をご参照ください。
スケジュールプロパティ設定
[スケジューリング方法]
設定済みのスケジュールを選択します。スケジューリング方法をまだ決定していない場合は、ルールを作成してから後で設定できます。新しいスケジュールを作成する方法については、「スケジュールの作成」をご参照ください。
[OK] をクリックして、ルールの設定を完了します。
ルール設定リスト
ルール設定リストページでは、設定済みのデータソースルールの情報を表示し、表示、編集、ドライラン、実行、削除などの操作を実行できます。

エリア | 説明 |
① フィルターと検索エリア | オブジェクト名またはルール名ですばやく検索できます。 ルールタイプ、ルールテンプレート、ルールの強度、ドライランステータス、有効化ステータスでフィルタリングできます。 説明 ビジネスプロパティが検索やフィルタリングが可能に設定され、有効になっている場合は、そのプロパティで検索またはフィルタリングできます。 |
② リストエリア | オブジェクトタイプ/名前、ルール名/ID、ドライランステータス、有効化ステータス、ルールタイプ、ルールテンプレート、ルールの強度、スケジュールタイプ、関連するナレッジベース情報など、ルールの設定詳細を表示します。更新ボタンの前にある
|
③ 操作エリア | 表示、複製、編集、ドライラン、実行、スケジュール設定、ナレッジベースドキュメントの関連付け、削除などの操作を実行できます。
|
④ 一括操作エリア | ドライラン、実行、スケジュール設定、有効化、無効化、ビジネスプロパティの変更、ナレッジベースドキュメントの関連付け、削除など、一括操作を実行できます。
|
スケジュールの作成
ルールのスケジュールを設定する際、現在のテーブルの既存のスケジュールからすばやく選択できます。各テーブルには最大 20 のスケジュールルールを設定できます。
1 つのルールに対して最大 10 のスケジュールを設定できます。
設定が同一の重複したスケジュールは自動的に削除されます。
[Quality Rule Details] ページで、[Schedule Configuration] タブをクリックし、[New Schedule] をクリックして [New Schedule] ダイアログボックスを開きます。
[New Schedule] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
スケジュール名
スケジュールのカスタム名です。名前は 64 文字までです。
スケジュールタイプ
[時間ベースのスケジュール] または [タスクトリガースケジュール] を選択できます。
[時間ベースのスケジュール]: スケジュールされた時刻または定期的にデータ品質チェックを実行します。これは、データが比較的一定の時刻に生成されるシナリオに適しています。
[スケジュール期間]: 品質ルールの実行はコンピューティングリソースを消費します。本番タスクとの干渉を避けるため、複数の品質ルールを同時に実行しないことを推奨します。スケジュール期間は、[Day]、[Week]、[Month]、[Hour]、または [Minute] から選択できます。
システムタイムゾーン (ユーザーセンターのタイムゾーン) がスケジュールタイムゾーン ([Management Center] > [System Settings] > [Basic Settings] で設定されたタイムゾーン) と異なる場合、ルールはシステムタイムゾーンに基づいて実行されます。
[タスクトリガースケジュール]: 指定されたタスクが正常に実行された後、または実行される前に、設定された品質ルールを実行します。次のエンジンタイプのタスクを選択してルールをトリガーできます: 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 です。
[トリガータイミング]: 品質チェックがトリガーされるタイミングを選択します。[Trigger after all tasks run successfully]、[Trigger after each task runs successfully]、または [Trigger before each task runs] を選択できます。
[トリガータスク]: 以下のロールを持つユーザーは、本番プロジェクトからタスクノードを選択してトリガータスクとして使用できます。ノードの出力名で検索することもできます。
ProdプロジェクトのProject AdminまたはO&Mシステムロールを持つユーザー、BasicプロジェクトのDeveloperシステムロールを持つユーザー、またはProd/Basicプロジェクトで [Project Quality Management]-[Quality Rule Management] 権限を持つカスタムプロジェクトロールのユーザーは、本番プロジェクトからタスクノードを選択できます。
Prod/Basicプロジェクトで [Quality Rules]-[Manage] 権限を持つカスタムグローバルロールのユーザーは、すべての本番プロジェクトからタスクノードを選択できます。
説明[Trigger after all tasks run successfully] を選択した場合、ルールの実行と品質チェック結果の遅延を避けるために、同じスケジュール期間を持つトリガータスクを選択することを推奨します。
[スケジューリング条件]
この機能はデフォルトで無効になっています。有効にすると、システムは品質ルールを実行する前にスケジューリング条件を満たしているか確認します。条件を満たしている場合にのみルールが実行されます。それ以外の場合、現在のスケジュールはスキップされます。
[業務日]/[実行日]: スケジュールタイプとして [Time-based schedule] (実行日はサポートされていません)、[code-check triggered schedule]、または [task-triggered schedule] を選択した場合、日付に条件を設定できます。[General Calendar] または [Custom Calendar] を選択できます。カレンダーをカスタマイズする方法については、「パブリックカレンダーの作成」をご参照ください。
[General Calendar] を選択した場合、[Month]、[Day of week]、または [Date] の条件を設定できます。例:

[Custom Calendar] を選択した場合、[Date Type] または [Tag] の条件を設定できます。例:

[インスタンスタイプ]: スケジュールタイプとして [code-check triggered schedule] または [task-triggered schedule] を選択した場合、インスタンスタイプに条件を設定できます。[Periodic instance]、[バックフィルインスタンス]、または [Manual instance] を選択できます。例:

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

エリア | 説明 |
① フィルターと検索エリア | スケジュール名ですばやく検索できます。 [時間ベースのスケジュール] または [タスク起動の] [スケジュール] でフィルタリングできます。 |
② リストエリア | [Schedule Name]、[Schedule Type]、[Last Updated By]、および [Last Updated Time] を表示します。 |
③ 操作エリア | スケジュールの編集、複製、削除ができます。
|
アラートの設定
異なるルールに対して異なる通知方法を設定して、アラートを区別できます。たとえば、強いルールの例外には電話アラート、弱いルールの例外にはSMSアラートを設定できます。1 つのルールが複数のアラート設定をトリガーする場合、どのアラートが有効になるかを決定するポリシーを設定できます。
1 つの監視対象に対して最大 20 のアラート設定を作成できます。
[Quality Rule Details] ページで、[Alert Configuration] タブをクリックし、[New Alert Configuration] をクリックして [New Alert Configuration] ダイアログボックスを開きます。
[New Alert Configuration] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
[スコープ]
[All Rules]、[All Strong Rules]、[All Weak Rules]、または [Custom] を選択できます。
説明1 つの監視対象につき、「すべてのルール」、「すべての強いルール」、「すべての弱いルール」の各スコープに対して、それぞれ 1 つのアラート設定を作成できます。新しいルールは、その強度に応じて自動的に対応するアラートと一致します。これらのアラート設定のいずれかを変更するには、既存の設定を編集できます。
カスタムスコープの場合、現在の監視対象に設定されているルールのうち最大 200 個を選択できます。
[アラート設定名]
アラート設定名は、1 つの監視対象内で一意にする必要があり、最大 256 文字まで設定できます。
[アラート受信者]
アラート受信者と通知方法を設定します。少なくとも 1 人の受信者と 1 つの通知方法を選択する必要があります。
[アラート受信者]: アラート受信者として、カスタム、オンコールスケジュール、または品質オーナーを選択できます。
最大 5 人のカスタムアラート受信者と最大 3 つのオンコールスケジュールを設定できます。
[通知方法]: 電話通知、メール、SMS、DingTalk、Feishu、WeCom、またはカスタムチャネルなど、さまざまな方法から選択できます。これらの方法はチャネル設定の構成で管理できます。
[OK] をクリックして、アラートの設定を完了します。
アラート設定リスト
アラートを設定した後、アラート設定リストで並べ替え、編集、削除ができます。

エリア | 説明 |
① ポリシーエリア | 品質ルールが複数のアラート設定に一致した場合のアラートポリシーを設定します。
|
② リストエリア | アラート設定の名前、その有効範囲、および各通知タイプの特定の受信者と方法を表示します。 [有効範囲]: [Effective Scope] 列の [View] アイコンをクリックして、その詳細を表示します。カスタムアラートのオブジェクト名とルール名のみを表示できます。ルールが削除された場合、オブジェクト名は表示できなくなるため、アラート設定を更新することを推奨します。 |
③ 操作エリア | 設定済みのアラートを編集および削除できます。
|
品質レポートの表示
[Quality Report] をクリックして、現在の品質ルールの ルール検証の概要 と ルール検証の詳細 を表示します。
例外結果、パーティション時間、またはルール名やオブジェクト名のキーワードで検証詳細をすばやくフィルタリングできます。
ルール検証詳細リストの操作列で、
アイコンをクリックして、品質ルールの検証詳細を表示します。ルール検証詳細リストの操作列で、
アイコンをクリックして、品質ルールの実行ログを表示します。
品質ルール権限の管理
[Permission Management] をクリックして [Details Viewability] を設定します。ここでは、どのメンバーが検証レコード詳細、品質ルール詳細、および品質レポートを表示できるかを指定します。
[詳細の表示可否]: [All Members] または [Only members with quality management permissions for the current object] を選択できます。
[OK] をクリックして、権限設定を保存します。
実行設定
品質ルールタスクがタイムアウトした場合、システムは自動的にタスクを終了し、その実行を失敗として処理します。対応する実行ログは検証レコード詳細ページで表示できます。
品質ルールタスクが失敗してリトライされた場合、各リトライの実行ログを検証レコード詳細ページで表示できます。
監視対象のすべての品質ルール (新しいルールやまだ実行されていない既存のルールを含む) には、最新の実行設定が適用されます。
[Run Configuration] タブをクリックし、下部にある [Edit] ボタンをクリックしてパラメーターを設定します。
パラメーター
説明
[スコープ]
[All Rules]、[All Strong Rules]、[All Weak Rules]、または [Custom] を選択できます。
[実行タイムアウト]
品質ルールタスクの総実行時間 (開始から終了まで、リソースとスケジューリングの待機時間を除く) が設定されたしきい値を超えた場合、システムは自動的にタスクを終了し、失敗として処理します。システムのデフォルトは 1 時間です。0 から 2 時間のカスタム期間を設定でき、小数点以下 2 桁までの精度で指定できます。
[失敗時の自動リトライ]
失敗した品質ルールタスクについて、[リトライ回数] と [再試行間隔] に基づいてタスクを自動的にリトライするかどうかを設定できます。この機能はデフォルトで無効になっています。有効にして設定を構成します。
[リトライ回数]: 失敗した品質ルールタスクの最大自動リトライ回数。デフォルトは 1 で、1 から 3 までの整数を設定できます。
[再試行間隔]: 自動リトライ間の時間間隔。デフォルトは 0 分で、0 から 10 分までの整数を設定できます。
[OK] をクリックして、実行設定を完了します。
次のステップ
品質ルールを設定した後、データソースルールリストページでルールを表示できます。詳細については、「監視対象リストの表示」をご参照ください。
