DataWorks データ品質 (DQC) は、データを監視して保護するための強力なプラットフォームです。データ生成パイプライン内の想定外の「ダーティデータ」を、下流に拡散する前にプロアクティブに検出して遮断します。これにより、正確なビジネス判断を支援し、トラブルシューティングとリソースの再実行コストを大幅に削減します。
コア概念とワークフロー
データ品質を使用する前に、そのコア概念とワークフローを理解する必要があります。データ品質システムは、次のコアエンティティを中心に構築されています:
-
[ルールテンプレート]: データ検証ロジックを定義します。DataWorks は、組み込みテンプレート (テーブル行数、列のユニーク値の数など) の豊富なライブラリを提供します。特定のビジネス要件に合わせて、カスタムテンプレートを作成することもできます。
-
[モニタリングルール]: ルールテンプレートの具体的なインスタンスです。テンプレートをテーブルの列に適用し、しきい値を設定できます。たとえば、
daily_salesテーブルのorder_count列は null にできません。 -
[品質モニタリング]:1 つ以上の モニタリングルール を スケジューリングノード に関連付ける実行計画です。スケジューリングノードが正常に実行されると、検証のために、関連付けられているすべての品質ルールが自動的にトリガーされます。
-
強/弱ルールとブロック: ルールは強制ルール または ソフトルール として設定できます。 チェックが失敗した場合、下流タスクをブロック するか、アラート を送信するのみかを選択できます。
一般的なワークフロー:
仮想ノードおよびドライランノードは実データを生成しないため、データ品質ルールをトリガーできません。
機能
DataWorks データ品質は、MaxCompute、E-MapReduce、Hologres、AnalyticDB など、一般的なビッグデータストレージサービスに対する品質チェックをサポートしています。完全性、正確性、一貫性など複数の観点で監視ルールを設定し、スケジューリングノードに関連付けることで、自動検証、アラート、ブロックを実現できます。
データ品質の主なモジュールと、コンソール内の対応ページは次のとおりです:
|
モジュール |
説明 |
|
|
[データ品質の概要] ページでは、ワークスペースの主要なデータ品質メトリクスを表示します。これには、インスタンス実行によってトリガーされた品質ルールのチェック状態の推移と分布、品質問題が最も多いテーブルと責任者、品質ルールのカバレッジなどが含まれます。これにより、品質管理者はワークスペース全体のデータ品質状況を迅速に把握し、品質問題に速やかに対処してデータ品質を改善できます。 |
||
|
品質アセット |
設定済みの品質ルールを一覧表示します。 |
|
|
データ品質は、カスタムルールテンプレートライブラリをサポートしています。[ルールテンプレートライブラリ] で共通のカスタム監視ルールを一元管理することで、ルール設定の効率を向上できます。 |
||
|
ルール設定 |
監視ルールを設定する主要な方法の1つで、単一テーブルに対してきめ細かな設定を行えます。 |
|
|
既存のルールテンプレートに基づき、指定条件を満たす複数テーブルに対してルールを一括設定します。 |
||
|
品質運用 |
[品質モニター] のリストページには、現在のワークスペースで作成されたすべての品質モニタータスクが表示されます。 |
|
|
品質モニタータスクの実行におけるルールチェック結果を表示します。品質モニタータスクの実行後、[実行履歴] ページで詳細を確認できます。 |
||
|
品質分析 |
データ品質では、レポートテンプレートを作成し、ルール設定およびルール実行に関する各種メトリクスを追加できます。レポートは、設定した統計期間、配信時間、サブスクリプション設定に基づいて自動生成され、送信されます。 |
|
課金
データ品質ルールの実行コストは、次の2つで構成されます:
-
DataWorks の料金: データ品質の ルールインスタンス の実行回数に基づく 従量課金 です。詳細については、「データ品質の課金」をご参照ください。
-
コンピュートエンジンのコスト: データ品質ルールのチェックでは SQL 文が生成され、基盤となるコンピュートエンジンに送信されて実行されます。これにより、各エンジン側のコンピュートコスト (例:MaxCompute のコンピュートコスト) が発生します。これらのコストはエンジン提供元によって課金され、DataWorks の請求には反映されません。
注意事項
-
サポートされるデータソース: MaxCompute、Hologres、E-MapReduce、DLF、CDH、AnalyticDB for PostgreSQL、AnalyticDB for MySQL、StarRocks、MySQL、Lindorm、SQL Server のみがサポートされています。サポートされるリージョンはデータソースの種類によって異なります。特定のエンジンでサポートされるリージョンを参照してください。
-
メタデータ収集: E-MapReduce、Hologres、AnalyticDB、CDH などの MaxCompute 以外のデータソースに対してルールを設定する前に、事前にメタデータ収集を完了する必要があります。詳細については、「メタデータ収集の設定」をご参照ください。
-
ネットワーク接続: MaxCompute 以外のデータソースをチェックする場合、関連するスケジューリングノードは、ネットワーク接続ソリューション が設定されたリソースグループ上で実行する必要があります。
設定と利用のワークフロー
1. ルールの設定
-
[ルールの作成]: データ品質では、テーブル単位でデータ品質ルールを作成できます。組み込みまたはカスタムのルールテンプレートを使用して、複数テーブルに対するデータ品質ルールを一括で作成することもできます。詳細については、「単一テーブルのルールを作成」および「ルールを一括作成」をご参照ください。
-
アラートのサブスクリプション: ルール作成後、サブスクリプションによりアラート通知を設定できます。メール、SMS、DingTalk グループボット、WeCom、Lark、電話、カスタム Webhook など、複数のチャネルをサポートしています。
DataWorks Enterprise Edition 以降のみ、カスタム Webhook 方式をサポートしています。
2. ルールチェックのトリガー
品質モニタリングで、ルールをスケジューリングノードに関連付けます。 [運用センター]でスケジューリングノードが正常に実行されると、関連付けられたデータ品質ルールが自動的にトリガーされ、検証が実行されます。 DataWorks は、ルールの強度とチェック結果に基づいて、タスクインスタンスを失敗に設定してダウンストリームタスクをブロックするかどうかを判断し、ダーティデータの拡散を防ぎます。
3. チェック結果の確認
実行記録 ページで、テーブル名またはノード名で検索し、各品質モニター実行の詳細なチェック結果とログを確認できます。詳細については、「実行履歴の確認」をご参照ください。
よくある質問
DataWorks データ品質のアラートと MaxCompute の DingTalk グループアラートは重複していますか?
MaxCompute は、独立したデータ品質監視機能を提供していません。MaxCompute の DingTalk グループで受信するデータ品質アラートは、実際には DataWorks データ品質 (DQC) を通じて設定およびトリガーされています。DataWorks データ品質はチェックルールから SQL 文を生成し、MaxCompute などのコンピュートエンジンに送信して実行します。チェック完了後、ルールに設定されたアラートサブスクリプションに基づいて通知が送信されます。
そのため、DataWorks データ品質のアラートと MaxCompute の DingTalk グループアラートは、2つの独立したシステムではなく、機能が重複することもありません。DataWorks データ品質で監視ルールとアラートサブスクリプションを設定するだけで十分です。
テーブルにデータ品質監視を設定するかどうかは、そのテーブルのデータがビジネスにとってどれほど重要かによって決まります。中核となるビジネステーブルでは、品質監視を設定することで、データ異常が発生した際にタイムリーなアラート通知や下流タスクのブロックが可能になり、空データやダーティデータによる業務影響を防止できます。