説明:
本稿では、一連の設定手順を通じて、データ品質モジュールのコア機能を迅速にご理解いただけます。
事前準備
2. WeDataコンソールでプロジェクトを作成し、EMR、DLC、TCHouse-P、TCHouse-D、Dorisなどのデータソースをバインドします(本稿ではEMRを例とします)。詳細についてはWeDataプロジェクト管理を参照してください。 3. データ開発モジュールで、データベースとデータテーブルを作成します(本稿ではEMRを例とします)。詳細についてはWeDataデータ管理を参照してください。 説明:
プロジェクト作成時に、EMRエンジンを購入してバインドし(バインド時にメタデータスキャンを有効にしてください)、スケジューリングリソースをバインドしてください。
データテーブルの準備
1. emr-hiveデータソースにデータベース:emallを作成し、データテーブル:dq_testを作成してください。
2. テーブルに以下のフィールドを追加します:
|
pt_date | パーティションフィールド | string | はい |
id | id | string | いいえ |
name | 氏名 | string | いいえ |
gender | 性別 | int | いいえ |
操作のスクリーンショット:
データ開発タスクの準備
1. データ開発>オーケストレーションスペース画面で、ワークフローを作成をクリックします。
2. ワークフローにタスクノードを作成します。タスクタイプ:Hive SQL。
Hive SQLは以下の通りです:
INSERT INTO TABLE emall.dq_test PARTITION (pt_date = '2024-05-01')
VALUES ('1', '張三', '1');
データ品質監視タスクの設定
設定手順
品質監視タスクの作成
データ品質 > データ監視 > EMR画面に入り、監視を新規追加をクリックして、品質監視の新規追加を開始します。
ステップ1:監視情報の設定
監視対象
監視を新規作成画面に入り、監視対象のデータソースタイプ、データソース、データベース、監視テーブルを順に選択します。
基本情報
監視名を入力します。デフォルトの監視名は監視テーブル名_監視作成タイムスタンプです。
説明:
識別しやすい監視名を入力することをお勧めします。監視タスクインスタンス内の検出結果のビジネス上の意味を理解しやすくなります。
例えば:監視名が「華北地区売上表の毎月定期検査」の場合、運用保守管理には「華北地区売上表の毎月定期検査」の各実行が検査成功か検査失敗かが表示されます。
また、解釈を容易にするために、業務説明を追加することもできます。
実行ポリシー
|
実行エンジン | ここでは Hive と Spark を選択できます。購入した EMR リソースに関係し、通常、Hive テーブルでは Hive エンジンを直接選択できます。 |
コンピューティングリソース | default を選択します。 ここでは EMR クラスタ内のリソースグループを選択できます。通常は default を直接選択できます。 |
実行リソース | ここでいう実行リソースとは、プロジェクトにすでにバインドされているスケジュールリソースグループです。 |
実行方式 | ここでは関連生産スケジュールとオフライン周期検出を選択できます:
関連生産スケジュール:品質タスクを生産タスク(データ同期タスクまたはデータ開発タスク)と関連付けます。生産タスクの実行が終了した後、品質監視タスクを挿入して実行します。異常を検出した場合、直ちに処理担当者に通知して処理を行い、監視下のルールレベルに応じて下流タスクの実行をブロックし、問題データの拡散を防ぎます: 説明: 同じ品質検出タスクは複数の生産タスクに関連付けることができます。同じ生産タスクも複数の品質検出タスクに関連付けることができます。 オフライン周期検出:独立スケジュールです。選択したデータベーステーブル、コアビジネスフィールドに対して、日次、時間次、分次などのカスタム頻度で周期的な品質検出を設定します。品質タスクは設定された周期で定期的に実行され、異常を検出した場合、直ちにサブスクライバーに通知します。 |
関連タスク | ここでは、関連付ける必要がある生産タスクが属するモジュールを選択できます。開発空間またはData Integrationで、最大5つのタスクのみ関連付けることができます: 開発スペース:開発スペース内のディレクトリツリー構造を表示し、フォルダまたはタスク名の検索をサポートします。 Data Integration:Data Integration内のタスクリストを表示します。 |
次へをクリックすると、監視の作成が完了し、関連ルール画面に移動します。
ステップ2:ルールの関連付け
関連ルールは同じテーブルに表示され、他の監視タスクに関連付けられていないルールです。品質ルールの編集または関連付けをサポートします(オプション)。
注意:
監視に関連付けられていない品質ルールは実行されません。
既存のルールで業務ニーズを満たせない場合は、既存ルールを関連付けをクリックします。
この監視に関連付けられているすべてのルールを表示します。以前に関連付けられたすべての品質ルールがここに表示されます。
新規ルールの作成
ルールリストの新規ルールをクリックすると、新規ルールダイアログが表示されます。 1. システムテンプレート 2. カスタムテンプレート 3. カスタムSQL を選択して品質検証を行うことができます。
ここでは一度に複数のルールを追加できます。追加されたルールはこの監視に直接関連付けられます。
説明:
|
ルールタイプ | システムテンプレート、カスタムテンプレート、カスタムSQLを選択できます(左側のツリー図からルールテンプレートを選択した場合、ここには選択したテンプレートのパラメータがデフォルトで表示されます): システムテンプレート:WeDataにはすでに56個のルールテンプレートが組み込まれており、無料で使用できます。各テンプレートの詳細な紹介説明については、システムテンプレート説明を参照してください。 カスタムテンプレート:ルールテンプレートメニューで自社の業務に適したルールを追加でき、再利用に便利です。詳細な操作手順については、カスタムテンプレート説明をご覧ください。 カスタムSQL:SQL文を直接入力して検出ルールとして使用できます。詳細な操作手順については、品質ルールの新規追加を参照してください。 |
監視対象 | 監視対象は、テーブルレベルとフィールドレベルに分けられます(左側のツリー図からルールテンプレートを選択した場合、ここには選択したテンプレートのパラメータがデフォルトで表示されます): テーブルレベルでは、テーブル行数、テーブルサイズ(Hiveテーブルのみ対応)を監視できます。 フィールドレベルでは、フィールドが空かどうか、重複しているかどうか、平均値、最大値、最小値などを監視できます。 |
テンプレートを選択 | WeDataには56個のルールテンプレートがすでに組み込まれており、無料で使用できます。各テンプレートの詳細な紹介説明については、システムテンプレート説明を参照してください。 (左側のツリー図からルールテンプレートを選択した場合、ここには選択したテンプレートのパラメータがデフォルトで表示されます) |
検出範囲 | 全表または条件スキャンを選択できます。 全テーブル:品質ルールはテーブル内の全データを検証します。 条件スキャン:品質ルールはここで入力した検出範囲のみを検証します。 例: pt_date='${yyyy-MM-dd-1d}'
説明: ここには通常パーティションフィールドを入力し、毎回の品質タスクで全表スキャンが実行され、コンピューティングリソースが浪費されるのを防ぎます。 SQL内の${yyyy-MM-dd-1d} は日付変数であり、実行日の前日を表します。品質タスクの実行時に具体的な日付に置き換えられます。 例:品質タスクが2024 - 05 - 02 00:00:00に実行される場合、${yyyy-MM-dd-1d}は2024 - 05 - 01に置き換えられます。 |
トリガー条件 | 比較演算子:小なりを選択します。 比較値:1を入力します。 テーブル行数が1未満であり、検出範囲に入力された時間変数と組み合わせた場合、つまり昨日新しいデータが追加されなかったときにアラートがトリガーされます。 説明: ここで入力するトリガー条件は異常値、つまりアラートをトリガーする条件です。 |
トリガーレベル | 中を選択します。 トリガーレベルは高、中、低に分けられます。 高:アラートがトリガーされると、下流タスクの実行を直ちにブロックします(関連する本番タスクのみ有効)。 中:アラートのみをトリガーします。 低:アラートをトリガーせず、結果表示のみが異常です。 |
試用運転
1. テスト実行するルールを選択し、テスト実行をクリックします。
2. スケジュール時間を変更し、テスト実行を開始をクリックします。テスト実行が終了した後、クリックして実行結果を表示をクリックできます。
説明:
データ挿入時に入力したデータパーティションが2024-05-01であるため、ここには2024-05-02を入力できます。
試用運転結果の確認
1. 実行インスタンスと結果ページに入った後、左側のドロップダウン三角形をクリックして、ルール詳細を展開できます。
2. ある監視項目の実行履歴をクリックし、過去の実行結果を確認します。
一括関連解除
選択したルールとこの監視との関連付けを一括解除します。
注意:
監視に関連付けられていない品質ルールは実行されません。
このルールを再度関連付けたい場合は、ルール関連付けページで操作できます。
サブスクリプションの設定
品質検出タスクの実行結果がトリガー条件を満たした場合(つまり結果が予期せぬものであり、検出結果が失敗の場合)、どの方法で通知を送信し、誰に通知するかを設定します。
サブスクリプション設定画面に入り、サブスクリプション方法を選択し、受信者を設定し、保存をクリックします。
監視の有効化
監視のテスト実行結果に基づき、監視ステータス列で監視を有効化または監視を無効化できます(監視は作成後にデフォルトで有効になります)。
説明:
有効状態の監視タスクのみが自動的に実行されます。
タスク実行結果の確認
品質タスクの実行が終了した時、検出結果が異常である場合、システムは自動的にアラートを送信し、トリガーレベルが高いタスクに対して下流タスクをブロックします。
库表负责人和数据开发工程师需要及时排查异常、并解决问题。
1. データ品質 > 運用保守管理 > 実行インスタンスと結果ページで、データソース、データベースを順に選択すると、タスクの実行結果を表示できます。
2. このページではタスクの検出ステータスを確認でき、左側のドロップダウン三角を展開して各ルールの結果とログを表示できます。
説明:
検出ステータスは2つのカテゴリに分けられます:
インスタンス実行ステータス:
実行待機:スケジュールタスクインスタンスがスケジュール側で実行を待機しています。
実行中:スケジュールタスクインスタンスが実行中です。
成功:スケジュールタスクインスタンスが正常に配信されました。
失敗:スケジュールタスクインスタンスの配信に失敗しました(考えられる原因:実行マシン環境の影響、ユーザーによる手動kill、業務異常の報告)
検出ステータス:
正常:現在のインスタンス配下のすべてのルールが正常に実行された後、ルール検出結果はすべて正常です。
異常:現在のインスタンス配下のすべてのルールのうち、1つでもトリガーされると異常と判定されます。
検出中:インスタンス配下のルールが実行中です。
未検出:ルールがまだ実行を開始していないか、実行に成功していません。