品質ルールテンプレートは、品質ルール構成全体の論理的な一貫性と類似性を抽象化し、その後の品質監視ルールの設定効率を高めるために不可欠です。Dataphin は 20 以上の組み込み品質ルールテンプレートを提供し、企業の品質監視要件を満たすためのカスタマイズされた拡張のためにカスタム SQL をサポートしています。このトピックでは、品質ルールテンプレートを作成するプロセスについて説明します。
権限の説明
スーパー管理者と品質管理者は、ルールテンプレートを作成、クローン、編集、削除する権限を持っています。
すべてのユーザーがルールテンプレートにアクセスして使用できます。
操作権限はオブジェクトごとに異なります。詳細については、「ルールテンプレートの操作権限」をご参照ください。
ルールテンプレートの作成
Dataphin ホームページに移動し、トップメニューバーから [管理] > [Data Quality] を選択します。
左側のナビゲーションウィンドウで、[品質監視] > [ルールテンプレート] をクリックします。[ルールテンプレート] ページで、[データテーブル] タブを選択し、[ルールテンプレートの作成] ボタンをクリックします。
[ルールテンプレートの作成] ダイアログボックスで、必須パラメーターを入力します。
パラメーター
説明
基本情報
テンプレート名
カスタムルールテンプレート名。64 文字以内。
テンプレートタイプ
テンプレートが属するタイプを構成して、後続のリファレンスでクイック検索できるようにします。サポートされているカスタムルールテンプレートタイプには、[有効性]、[一貫性]、[適時性]、[Sql] があります。
[有効性] には、[標準参照テーブル検証] (Data Standard モジュールの有効化が必要)、[参照テーブル検証]、[列フォーマット検証]、[列値ドメイン検証]、[列長検証] が含まれます。
[一貫性] には、[単一フィールドビジネスロジック一貫性比較]、[2 つのテーブルの列の統計的一貫性検証]、[2 つのテーブルの列の処理ロジック一貫性検証]、[列の統計的一貫性検証]、[ソース間列の統計的一貫性検証] が含まれます。
[適時性] には、[時間間隔比較]、[2 つのテーブルの時間間隔比較]、[式との時間比較] が含まれます。
[Sql] には、[カスタム統計検証] および [カスタム詳細値検証] が含まれます。
さまざまなテンプレートタイプのシナリオについては、「テンプレートタイプの説明」をご参照ください。
データソースタイプ
テンプレートでは、サポートされているデータソースタイプを指定して、データソースごとに構文構造が異なることによるルール定義の失敗や異常な検証結果を回避する必要があります。次の 2 つのタイプがサポートされています。
一般: 検証条件は特定のデータソースに依存せず、すべてのタイプで同じ検証文を使用できます (整合性テンプレートなど)。
特定タイプ: ルール定義は特定のデータソースタイプに対してのみ有効であり、特定のデータソースタイプを選択する必要があります。構成後、指定されたデータソースタイプの監視対象オブジェクトの下に品質ルールを作成するときに、現在定義されているテンプレートの参照のみをサポートします。
説明
カスタムルールテンプレートの説明。128 文字以内。
テンプレート設定
一貫性
[テンプレートタイプ] が [一貫性] として選択されている場合、テンプレートごとに異なるテンプレート構成パラメーターが必要になります。詳細は以下のとおりです。
単一テーブルフィールドのビジネスロジック一貫性比較:
検出式: SQL 式関数を入力します。例:
${total_sales}=${unit_price}*${sales_volume}。説明検出式は関数の使用をサポートしていますが、実行中にデータベースがその関数をサポートしていることを確認する必要があります。
複数のフィールド間のビジネスロジックを検証できます。たとえば、総売上 = 単価 × 販売量。総売上額が正しいかどうかを検証するには、式
${total_sales}=${unit_price}*${sales_volume}を使用できます。式の中の
${total_sales}などの変数は、実際のテーブルフィールドを指定する必要があります。実行時に実際のテーブルフィールドに置き換えられます。
2 つのテーブルの列の統計的一貫性検証/列の統計的一貫性検証:
統計メソッド: フィールドグループの数、フィールドの最大値、フィールドの繰り返し率などをカウントできます。詳細については、「データテーブルパラメーター構成」をご参照ください。
2 つのテーブルフィールドのビジネスロジック一貫性比較:
ビジネスロジック: SQL 式関数を入力します。例:
${T1.total_sales}=${T2.unit_price}*${T2.sales_volume}。説明複数のフィールド間のビジネスロジックを検証できます。たとえば、総売上 = 単価 × 販売量。総売上額が正しいかどうかを検証するには、式
${T1.total_sales}=${T2.unit_price}*${T2.sales_volume}を使用できます。式の中の
${T1.total_sales}などの変数は、実際のテーブルフィールドを指定する必要があります。実行時に実際のテーブルフィールドに置き換えられます。最大 2 つのテーブルがサポートされています。
ソース間列の統計的一貫性検証:
統計メソッド: フィールドグループの数、フィールドの最大値、フィールドの繰り返し率などをカウントできます。詳細については、「データテーブルパラメーター構成」をご参照ください。
データソースタイプ: 物理テーブルのデータソースタイプを選択します。MaxCompute、MySQL、Oracle、Microsoft SQL Server、PostgreSQL、SAP HANA、AnalyticDB for PostgreSQL、ClickHouse、IBM DB2、Hologres、DM (Dameng)、StarRocks、Hive、ArgoDB、Lindorm が含まれます。
データソース: 物理テーブルが属するデータソースを選択します。
比較テーブルの選択: 物理テーブルで比較するテーブルと、物理テーブルで比較するフィールドを選択します。
有効性
[テンプレートタイプ] が [有効性] として選択されている場合、テンプレートごとに異なるテンプレート構成パラメーターが必要になります。詳細は以下のとおりです。
標準参照テーブル検証 (Data Standard モジュールの有効化が必要):
参照テーブル: データ標準の下で公開されているステータスコードテーブルを選択します。コードテーブルを作成するには、「標準コード (コードテーブル) の作成と管理」をご参照ください。
コードテーブル参照: ここで選択した参照値とフィールド値に基づいて比較します。オプションには、[コード値]、[コード名]、[コード英語名] があります。
コードテーブル参照比較:
データソースタイプ: データソースタイプを選択します。
データソース: データソースタイプに対応するデータソースを選択します。
説明パフォーマンス上の考慮事項から、クロスデータソースでは比較のために最大 1000 件のコードテーブルデータが読み取られます。コードテーブルと検査対象テーブルは同じデータソースにあることをお勧めします。
クロスデータソース比較フィールドは自動的に文字列型に変換されます。一部の特殊なフィールドタイプでは異常な状況が発生する可能性があります。コードテーブルのフィールドタイプと検証フィールドタイプは、両方とも文字列型またはその他の同じタイプにすることをお勧めします。
参照テーブル: ターゲットコードテーブルを選択します。
コードテーブル名: 品質ルールを構成するときのプロンプトとしてコードテーブル名を入力します。
コードテーブル参照フィールド: コードテーブルで対応する参照フィールドを選択します。
説明[コードテーブル参照テーブル] は、フィールドがコードテーブルに存在するかどうかを判定するために使用します。比較フィールドを選択する必要があります。たとえば、ユーザー詳細テーブルのユーザー ID がすべて登録済みユーザーであるかどうかを判定できます。
コードテーブルフィルター条件: パーティションテーブルのフィルター条件を設定してデータをフィルターします。
フィールドフォーマット検証:
コンテンツ認識フォーム: オプションには、[検出式]、[正規表現]、[文字列一致 (%)]、[次で始まる]、[次を含む]、[次で終わる] があります。式は、ルールに適合するデータを照合するために使用されます。
コンテンツ検出パターン - 検出式: SQL 式関数を入力します。例:
${column}>0。ここで${column}は組み込みパラメーターです。コンテンツ検出パターン - 正規表現: 入力ボックスに正規表現を入力します。たとえば、「test」を含むすべての名前を照合するには、正規表現を
.*test.*と定義します。コンテンツ認識フォーム-文字列一致 (%): 標準の like 式で、% を使用してワイルドカード文字を表します。たとえば、「a」で始まるデータを照合するには、「a%」と入力します。
コンテンツ認識フォーム-次で始まる: 照合する文字列を入力すると、パターンに従って末尾に % が自動的に追加されます。例: 「a%」。
コンテンツ認識フォーム-次を含む: 照合する文字列を入力すると、パターンに従って先頭と末尾に % が自動的に追加されます。例: 「%a%」。
コンテンツ認識フォーム-次で終わる: 照合する文字列を入力すると、パターンに従って先頭に % が自動的に追加されます。例: 「%a」。
説明検出式は関数の使用をサポートしていますが、実行中にデータベースがその関数をサポートしていることを確認する必要があります。
フィールド値ドメイン検証:
値ドメインタイプ: 実際のビジネスニーズに基づいて選択します。
テキスト: テキストの有効性を検証します。検証するフィールドがテキストタイプであることを確認してください。[有効値] を設定する必要があります。[列挙] または [間隔] を選択できます。列挙を使用した検証の例: 「張三」と「李四」を比較する場合、生成される検証 SQL 文は
x in ("Zhang San", "Li Si")です。数値: 数値の有効性を検証します。検証するフィールドが数値タイプであることを確認してください。[有効値] を設定する必要があります。[列挙] または [間隔] を選択できます。列挙を使用した検証の例: 3、6、9 を比較する場合、生成される検証 SQL 文は
x in (3, 6, 9)です。日付: 日付の有効性を検証するために使用されます。検証フィールドが日付タイプ (date) であることを確認してください。
タイムスタンプ: タイムスタンプの有効性を検証するために使用されます。検証フィールドがタイムスタンプタイプ (timestamp) であることを確認してください。
カスタム: 複数のフォーマットを検証するために使用され、関数の使用をサポートします。入力された内容はデータソースで直接実行されます。
[値ドメイン範囲] を設定する必要があり、[列挙] または [間隔設定] をサポートします。
列挙を使用した検証の例: 3、6、9 を比較する場合、生成される検証 SQL 文は
x in (3, 6, 9)です。間隔を使用した検証の例: 範囲は最小値 y1 から最大値 y2 までです。比較するフィールドが x の場合、最終的な検証 SQL 文は
x >= y1 and x <= y2です。説明10 や "10" などのカスタムフィールドフォーマットは、データソースによって実行結果が異なる場合があります。
使用する関数が品質検証のためにデータソースで有効であることを確認してください。
列長検証:
フィールド長: 長さの範囲を設定します。[列挙] または [間隔設定] をサポートします。
列挙を使用した検証の例: 3、6、9 を比較する場合、生成される検証 SQL 文は
x in (3, 6, 9)です。間隔を使用した検証の例: 範囲は最小値 y1 から最大値 y2 までです。比較するフィールドが x の場合、最終的な検証 SQL 文は
x >= y1 and x <= y2です。
適時性
[テンプレートタイプ] が [適時性]-[時間間隔比較]、[適時性-2 つのテーブルの時間フィールド比較]、[適時性-時間関数比較] として選択されている場合、対応するパラメーターは次のとおりです。
検証項目: 検証フィールドに基づいて式を定義します。検証項目の組み込みパラメーターは
${column}です。比較項目: 時間比較の式。組み込みパラメーターは
${column}と${bizdate}です。比較フィールドに基づいて式を定義します。
${column}は比較項目の組み込みパラメーターです。例:${column} and substr(${column})。日付関数比較で
${bizdate}を選択した場合、データタイムスタンプとして認識されます。
時間許容範囲: 検項目から比較項目を引いた値を設定します。単位項目の小数点前の値を丸めずに取得します。たとえば、配送日と注文日が同じ日である必要がある場合、[検証項目 - 比較項目] を 1 日未満に設定できます。
カスタム SQL
[テンプレートタイプ] として [Sql] を選択した場合、テンプレートごとに異なるテンプレート構成パラメーターが必要になります。詳細は次のとおりです。
カスタム統計検証: 検証対象のメトリック処理基準をカスタマイズします。結果は、その日の売上高を検証する場合など、数値である必要があります。
Sql: カスタム SQL メトリックの統計ロジック。コード例は次のとおりです。
単一テーブルクエリ
select sum(${t1.c1}) from ${t1} where ds=${bizdate};サブクエリ
select sum(${t1.c1}) from (select ${t1.c1} from ${t1} where ds=${bizdate}) a;複数テーブルクエリ
select sum(${t1.c1}) from ${t1} join ${t2} on $[t1.id]=$[t2.id] where $[t1.ds]=${bizdate};
カスタム詳細値検証: カスタム SQL を使用して、正常および異常なデータコンテンツの定義基準を指定します。総行数 SQL、異常行数 SQL、および異常データ SQL を構成できます。
総行数 SQL: 必須。総行数メトリックの SQL 統計ロジックを定義します。結果は数値である必要があります。入力後、正常率や異常率などの統計メトリックを構成できます。総行数のコード例は次のとおりです。
select count(*) from ${t1} where ds=${bizdate};異常行数 SQL: 必須。異常行数メトリックの SQL 統計ロジックを定義します。結果は数値である必要があり、異常データの条件を含める必要があります。入力後、異常行数をカウントできます。総数を入力した後、異常率をカウントすることもできます。異常行数のコード例は次のとおりです。
select count(*) from ${t1} where ds=${bizdate} and ${t1.c1}<0;異常データ SQL: オプション。異常データメトリック (単一フィールド) の SQL 統計ロジックを定義します。入力後、異常アーカイブ機能を使用できます。異常データのコード例は次のとおりです。
select ${t1.c1} as dataphin_quality_error_data from ${t1} where ds=${bizdate} and ${t1.c1}<0;
変数の解析: [変数の解析] ボタンをクリックします。システムはカスタム SQL 内の変数フィールドを解析します。各変数フィールドに表示名と説明を追加できます。説明は最大 128 文字です。
変数の説明は、品質ルールの構成中に変数名の横にヒントとして表示され、正しい値を入力するのに役立ちます。変数 `t1` は、デフォルトで検証対象の現在のテーブルとなり、解析されません。
説明SQL は、複数テーブルクエリとサブクエリをサポートします。
固定のテーブル名とフィールド名をサポートします。Dataphin テーブルは、プロジェクト名を使用した物理テーブルの参照、またはセクション名を使用した論理テーブルの参照をサポートします。
変数を使用したテーブル名またはフィールド名の置き換えをサポートします。
テーブルの指定: エディターで [テーブル名 1 を挿入] をクリックすると、
${t1} から ${t5}までのテーブル名変数をすばやく入力できます。最大 5 つのデータテーブルを指定できます。変数では大文字と小文字は区別されません。テーブルのフィールドの指定: エディターで [テーブル 1 のフィールド名 1 のみ挿入] をクリックすると、
${t1.c1}などのテーブルのフィールド名変数をすばやく入力できます。テーブルとフィールドの指定: エディターで [テーブル名 1 + フィールド名 1 を挿入] をクリックすると、
$[t1.c1]などのテーブル名とフィールド名の変数をすばやく入力できます。
上記の変数記述メソッドのみがサポートされています。他の形式の変数は、${t6}、${table1}、${a.b} など、検証テーブルのフィールド変数として一様に解析されます。他の変数式は使用しないでください。
パラメーターチェック
品質ルールの SET パラメーターを入力します。パラメーターは 1,024 文字を超えることはできません。例:
set hive.execution.engine=mr。説明パラメーター設定は、MaxCompute および Hive タイプのデータテーブルの品質ルールに対してのみ有効です。他のタイプのデータテーブルは、このテンプレートを参照して品質ルールを構成するときに、このパラメーター構成を無視します。
このテンプレートに基づいて作成されたすべての品質ルールに有効です。[SQL のプレビュー] で最終的に実行される SQL 文を表示できます。
[SQL のプレビュー] をクリックして、ルールテンプレートの SQL プレビューを確認します。
説明テンプレート内の未入力の構成フィールドには、${table1}、${column1} などの変数プレースホルダーを使用します。
作成を完了するには、[OK] をクリックします。
ルールテンプレートリストの表示

エリア | 説明 |
①フィルターと検索エリア | テンプレート名に基づいてあいまい検索を実行できます。[自分が担当] テンプレートをすばやくフィルターしたり、テンプレートタイプ、テンプレートソース、データソースタイプ、またはテンプレートオーナーに基づいて正確なフィルターを実行したりできます。 |
②リストエリア | ルールテンプレートの名前、テンプレートの説明、テンプレートタイプ、テンプレートソース、テンプレートオーナー、更新時間、およびデータソースタイプ情報を表示します。テンプレートのタイプによってサポートされる操作が異なります。 カスタムテンプレート (Dataphin データテーブル、グローバルデータテーブル): リファレンスの表示、編集、品質ルールの追加、テンプレート詳細の表示、クローン、オーナーの変更、削除操作をサポートします。 システムテンプレート (Dataphin データテーブル、グローバルデータテーブル、メトリック): リファレンスの表示、テンプレートパラメーターの編集、品質ルールの追加操作。 システムテンプレート (データソース、リアルタイムメタテーブル): リファレンスの表示と品質ルールの追加操作をサポートします。
|
次のステップ
ルールテンプレートを作成したら、このテンプレートを使用して品質ルールを設定できます。詳細については、「品質ルールの作成」をご参照ください。