本ページでは、主にデータワークショップの使用中におけるデータ品質のモニタリング方法、品質モニタリングルールの設定、アラートおよびテーブルのモニタリング方法について説明します。

前提条件

この実験を進める前に、データ取得: ログデータアップロードデータ処理: ユーザーポートレートの実験を完了してください。

データ品質

データ品質 (DQC) は、さまざまな異種データソースの品質検証、通知、および管理サービスをサポートするワンストッププラットフォームです。 現在、Data Quality は MaxCompute データテーブルおよび DataHub リアルタイムデータストリームのモニタリングをサポートしています。 オフラインの MaxCompute データが変更されると、Data Quality はデータを検証し、本番リンクをブロックしてデータ汚染の拡散を防ぎます。 さらに、Data Quality は履歴結果の検証を提供します。 したがって、データ品質を分析および定量化できます。 ストリーミングデータのシナリオでは、Data Quality は DataHub データトンネルに基づいて切断をモニタリングできます。 Data Quality はオレンジと赤のアラームレベルも提供し、冗長なアラームを最小限に抑えるためのアラーム頻度設定をサポートします。

Data Quality を使用するプロセスは、既存のテーブルのモニタリングルールを設定することです。 ルールを設定したら、試行を実行してルールを確認できます。 試行が成功したら、このルールをスケジューリングタスクに関連付けることができます。 関連付けが成功すると、スケジューリングタスクコードが実行されるたびに、データ品質検証ルールがトリガーされてタスクの精度が向上します。 サブスクリプションが成功すると、問題があるときはいつでもこのテーブルのデータ品質がメールまたはアラームで通知されます。

データ品質は追加コストを招きます。

テーブルルール設定の追加

ログデータのアップロードとユーザーポートレートの実験を完了した場合、ods_raw_log_d、ods_user_info_d、ods_log_info_d、dw_user_info_all_d、rpt_user_info_d の各テーブルが表示されます。

データ品質において最も重要なことはテーブルルールの設定であるため、テーブルルールを設定する方法は合理的ですか? 上記のテーブルがテーブルルールでどのように設定されるかを見てみましょう。

  • ods_raw_log_d

    データ品質の項目の下にあるすべてのテーブル情報を確認できます。これで、ods_raw_log_d データシートのデータ品質モニタリングルールを設定します。

    ods_raw_log_d テーブルを選択し、[Rule Configuration] をクリックして次のページに進みます。

    この ods_raw_log_d テーブルのデータソースを確認できます。 ods_raw_log_d テーブルのデータは ftp からのものです。 そのパーティションは ${bdp.system.bizdate} 形式で、テーブルに書き込まれます ("dbp.system.bizdate" は前日までに取得する日付です)。

    このタイプの日次ログデータについては、テーブルのパーティション式を設定できます。 パーティション式にはいくつかの種類があり、dt = $ [yyyymmdd-1] を選択できます。 スケジューリング式の詳細な説明については、資料パラメーターの設定を参照してください。

    テーブルにパーティションカラムがない場合、パーティションなしとして設定できます。 実パーティションの値に応じて、対応するパーティション式を設定できます。

    確認後、以下のインターフェイスが表示され、[create rules] を選択できます。

    ルールを作成するを選択すると、次のインターフェイスが表示されます。

    [Add monitoring rule] をクリックすると、ルールを設定するためのプロンプトウィンドウが表示されます。

    このテーブルのデータは、ソーステーブルとして FTP によってアップロードされたログファイルから取得されます。 このテーブルのパーティションにデータがあるかどうかを、できるだけ早く判断する必要があります。 このテーブルにデータがない場合は、ソーステーブルにデータがない場合と同様に後続のタスクの実行を停止する必要があります。後続のタスクの実行は無意味なものとなります。

    強いルールの下でのみ、赤のアラームによってタスクがブロックされ、インスタンスの状態が失敗に設定されます。

    ルールを設定するときは、テーブルの行数としてテンプレートタイプを選択し、ルールの強度を "strong" に設定する必要があります。 設定が完了したら、[Save] ボタンをクリックします。

    この設定は主に、ダウンストリームタスクのデータソースが空になる原因となる、パーティションにデータがないという状況を回避するためのものです。

    ルールテスト

    右上隅には、設定済みルールを検証するために使用できるノードテストボタンがあります。 テストボタンをクリックするとに、すぐにデータ品質の検証ルールがトリガーされます。

    テストボタンをクリックすると、テスト日を確認するためのウィンドウが表示されます。 実行をクリックすると、プロンプト情報をクリックしてテスト結果にジャンプするよう指示する以下のプロンプト情報が表示されます。

    テスト結果によると、ミッション出力のデータは期待どおりであることが確認できます。 各テーブルルールが設定されたら、テーブルルールの適用性を検証するために試行操作を実行することを推奨します。

    ルールが設定されて試行の実行に成功したら、テーブルをその出力タスクに関連付ける必要があります。 このように、テーブルの出力タスクが実行されるたびに、データ品質ルールの検証が開始され、データの正確性が保証されます。

    関連スケジューリング

    スケジューリングタスクに関連したデータ品質サポート テーブルルールとスケジューリングタスクがバインドされた後、タスクインスタンスが実行されると、データ品質チェックがトリガーされます。 テーブルルールをスケジュールする方法は 2 つあります。

    • オペレーションセンタータスクでテーブルルールの関連付けを実行します。
    • データ品質のための標準設定インターフェイスの関連付け。

    オペレーションセンターアソシエーションテーブルのルール

    [care center]、[cycle tasks] の順で、[ftp_datasync] タスクを見つけ、[more] で、[configure data monitoring] をクリックします。

    バーストウィンドウにモニタリング対象テーブル名とパーティション式を入力します。 ここで入力されたテーブルは ods_user_info_d と命名され、パーティション式は dt = $ [yyyymmdd-1] です。

    設定を完了すると、下図のようになります

    [Configure] をクリックして、ルール設定インターフェイスにすばやく移動します。

    タスクサブスクリプションの設定

    関連するスケジューリングの後、スケジューリングタスクが実行されるたびに、データ品質検証がトリガーされます。 Data Quality はルールサブスクリプションの設定をサポートします。また、重要なテーブルとそのルールのサブスクリプションを設定し、データ品質チェックの結果に基づいて警告するようにサブスクリプションを設定できます。 データ品質チェックの結果が異常な場合は、設定されたアラームポリシーに基づいて通知が行われます。

    [Subscription Management] をクリックしてサブスクリプション方法を設定します。 メール通知、電子メールおよび SMS 通知が、現在サポートされています。

    サブスクリプション管理の設定が完了したら、[My Subscription] でそれらを表示および変更できます。

    検証結果がタイムリーに通知されないように、すべてのルールをサブスクライブすることを推奨します。

  • ods_user_info_d

    ods_user_info_d テーブル内のデータは RDS データベースからのものです。 ルールを設定するときは、データの重複を避けるために、行数と主キーの固有性検証をチェックしてテーブルを設定する必要があります。

    同様に、最初にパーティションフィールドのモニタリングルールを設定する必要があります。モニタリング時間式は、dt = $[yyyymmdd-1] です。 正常に設定された後、追加されたパーティション式に正常なパーティション設定レコードが表示されます。

    パーティション式を設定した後、右側にある [Create Rule] をクリックしてデータ品質の検証ルールを設定します。 テーブル行のモニタリングルールを追加し、ルールの強度を "strong" に設定し、比較モードを 0 より大きい期待値に設定します。

    列レベルのルールを追加し、モニター列に主キー列を設定します。 テンプレートタイプは次のとおりです。フィールド内の繰り返し値の数が検証され、ルールが "weak" に設定され、比較モードが重複値の数が 1 未満になるようなフィールドに設定されます。 設定が完了したら、一括の [Save] ボタンをクリックします。

    この設定は、主に下流データが汚染される結果となりうるデータの重複を避けるようにデザインされています。

    ods_log_info_d

    この ods_log_info_d テーブルのデータは、主にテーブル内のデータの分析です。 ログ内のデータを過度のモニタリング用に設定することはできないため、テーブルデータに対して空ではない検証ルールを設定するだけで済みます。 最初の設定テーブルのパーティション式は dt = $[yyyymmdd-1] です。

    設定テーブルデータは空のキャリブレーションルールではないため、ルール強度は strong に設定する必要があります。 比較は 0 に等しくない期待値に設定され、セットアップが完了したら、[Save] ボタンをクリックします。

  • dw_user_info_all_d

    この dw_user_info_all_d テーブルは、ods_user_info_d テーブルと ods_log_info_d テーブルの両方のデータの要約です。プロセスは比較的単純で、ODS レイヤーにはテーブルの行数が空ではないというルールも設定されているため、テーブルには、コンピューティングリソースを節約するために設定されたデータ品質モニタリングルールがありません。

  • rpt_user_info_d

    rpt_user_info_d テーブルは、データ集約後の結果テーブルです。 このテーブルのデータに基づいて、変動するテーブルの行数をモニターし、主キーの一意の値を検証できます。 最初の設定テーブルのパーティション式: dt = $[yyyymmdd-1]

    その後、モニタリングルールを設定できます。右側の [Create rule] をクリックし、[Add Monitoring Rules] をクリックして列をモニターします。 フィールド内の繰り返し値の数が検証され、ルールは "weak" に設定されます。 比較モードは、1 未満のフィールド繰り返し値に設定されます。

    モニタリングルールとテーブルルールの追加を続けます。

    お気づきのように、データウェアハウス内のテーブルが少ないほど、強力なルールが設定される回数が多くなります。 これは、ODS レイヤーのデータがウェアハウスで生データとして使用されており、データの正確性を確保し、ODS レイヤーのデータ品質の低下を回避し、時間内に停止する必要があるためです。

    Data Quality はまた、設定されたルールの検証結果を表示できるタスククエリ用のインターフェイスも提供します。