DataWorks Data Quality (DQC) は、データを監視および保護するための強力なプラットフォームです。データ本番パイプラインにおいて、予期せぬ「ダーティデータ」が下流に拡散する前に、それを積極的に検出し、遮断します。これにより、ビジネス上の意思決定の正確性を保証し、トラブルシューティングやリソースの再実行にかかるコストを大幅に削減します。
コアコンセプトとワークフロー
Data Quality を使用する前に、そのコアコンセプトとワークフローを理解する必要があります。Data Quality システムは、以下のコアエンティティを中心に構築されています。
-
[Template]:データ検証ロジックを定義します。DataWorks は、豊富な組み込みテンプレート (テーブルの行数や列内の一意な値の数など) のライブラリを提供します。特定のビジネス要件を満たすためにカスタムテンプレートを作成することもできます。
-
[Monitoring Rules]:ルールテンプレートの特定のインスタンスです。テンプレートをテーブル内の列に適用し、特定のしきい値を設定できます。たとえば、
daily_salesテーブルのorder_count列は null にできません。 -
[Monitor]:1 つ以上の [Monitoring Rules] を スケジューリングノード に関連付ける実行計画です。スケジューリングノードが正常に実行されると、関連付けられた品質ルールが自動的にトリガーされます。
-
強制/弱いルールとブロック:ルールは [Strong rules] または [Weak rules] として設定できます。チェックが失敗した場合、下流ノードを [Blocks] するか、[Alert] のみを送信するかを選択できます。
典型的なワークフロー:
仮想ノードとドライランノードは実際のデータを生成しないため、Data Quality ルールをトリガーできません。
機能
DataWorks Data Quality は、MaxCompute、E-MapReduce、Hologres、AnalyticDB などの一般的なビッグデータストレージサービスの品質チェックをサポートします。完全性、正確性、一貫性などの複数のディメンションにわたってモニタリングルールを設定し、それらをスケジューリングノードに関連付けて、検証、アラート、ブロックを自動化できます。
Data Quality の主なモジュールと、コンソール上の対応するページは次のとおりです。
|
モジュール |
説明 |
|
|
品質ダッシュボードは、ワークスペースレベルでの主要な Data Quality 指標の概要を提供します。これには、ルールチェックの傾向、品質問題のある上位テーブルとその所有者、およびルールのカバレッジが含まれます。このダッシュボードは、品質担当者がデータ全体の健全性を迅速に評価し、問題を速やかに対処するのに役立ちます。 |
||
|
品質アセット |
設定済みのすべての品質ルールを一覧表示します。 |
|
|
このライブラリを使用すると、一般的なカスタムモニタリングルールを一元管理し、ルールの設定を効率化できます。 |
||
|
ルール設定 |
これはモニタリングルールを設定する主要な方法であり、単一のテーブルに対してきめ細かいルール設定が可能です。 |
|
|
既存のルールテンプレートを、指定された条件を満たす複数のテーブルに一括で適用します。 |
||
|
品質 O&M |
モニターページには、現在のワークスペースで作成されたすべてのモニタータスクが一覧表示されます。 |
|
|
このページには、モニターの実行によるルールチェックの結果が表示されます。モニタータスクが完了した後、ここで詳細な結果を確認できます。 |
||
|
品質分析 |
Data Quality を使用すると、レポートテンプレートを作成し、ルール設定と実行に関するさまざまなメトリクスを追加できます。設定された統計期間、配信時間、およびサブスクリプション情報に基づいて、システムはスケジュール通りにレポートを自動的に生成および送信します。 |
|
課金
Data Quality ルールを実行すると、2 種類のコストが発生します。
-
DataWorks の料金:DataWorks は、ルールインスタンス の実行数に基づいて従量課金されます。詳細については、「Data Quality インスタンスの課金」をご参照ください。
-
コンピュートエンジンのコスト:Data Quality ルールのチェックは SQL 文を生成し、それを実行のためにコンピュートエンジンに送信します。このプロセスにより、コンピュートエンジンのコスト (たとえば、MaxCompute のコンピューティング料金) が発生します。これらのコストはエンジンプロバイダーによって請求され、DataWorks の請求書には表示されません。
注意事項
-
データソースのサポート:MaxCompute、Hologres、E-MapReduce、DLF、CDH Hive、AnalyticDB for PostgreSQL、AnalyticDB for MySQL、StarRocks、MySQL、Lindorm、SQL Server のみがサポートされています。利用可能なリージョンはデータソースの種類によって異なります。各エンジンでサポートされているリージョンをご参照ください。
-
メタデータ収集:E-MapReduce、Hologres、AnalyticDB、CDH などの MaxCompute 以外のデータソースのルールを設定する前に、メタデータ収集 を完了させる必要があります。
-
ネットワーク接続:MaxCompute 以外のデータソースをチェックする場合、関連付けられたスケジューリングノードは、ネットワーク接続ソリューション が設定されているリソースグループを使用する必要があります。
設定と利用手順
1. ルールの設定
-
[Create Rule]:Data Quality では、テーブルごとに Data Quality ルールを作成できます。また、組み込みまたはカスタムのルールテンプレートを使用して、一連のテーブルに対して迅速にルールを作成することもできます。詳細については、「テーブルごとのルール設定」および「テンプレートによるルール設定 (一括)」をご参照ください。
-
アラートの購読:ルールを作成した後、アラートのサブスクリプションを設定できます。サポートされているチャネルには、メール、SMS、DingTalk グループボット、WeCom、Lark、電話、カスタム Webhook が含まれます。
カスタム Webhook は、DataWorks Enterprise Edition 以降でのみサポートされます。
2. ルール検証のトリガー
[Monitor] で、ルールをスケジューリングノードに関連付けます。ノードが オペレーションセンター で正常に実行されると、関連付けられた Data Quality ルールが自動的にトリガーされて検証が行われます。ルールの種類 (強制または弱い) と検証結果に基づいて、DataWorks はダーティデータの伝播を防ぐために、ノードインスタンスを失敗させて下流ノードをブロックするかどうかを決定します。
3. 検証結果の表示
[Running Records] ページで、テーブル名またはノード名で検索して、各品質モニタリング実行の詳細な検証結果とログを表示できます。詳細については、「品質モニタリングの実行詳細の表示」をご参照ください。
よくある質問
DataWorks と MaxCompute のアラートは重複しますか?
MaxCompute は、スタンドアロンの Data Quality モニタリング機能を提供していません。MaxCompute の DingTalk グループで受信する Data Quality アラートは、DataWorks Data Quality (DQC) によって設定およびトリガーされます。DQC は、チェック用の SQL を生成し、それを MaxCompute などのコンピュートエンジンに送信して実行します。チェックが完了すると、DataWorks は設定されたアラートサブスクリプションに基づいて通知を送信します。
したがって、DataWorks からの Data Quality アラートと MaxCompute の DingTalk グループからのアラートは同じシステムから発信されるため、機能的な重複はありません。DQC でモニタリングルールとアラートサブスクリプションを設定するだけで十分です。
コアビジネスのテーブルに対して品質モニタリングを設定すると、データに異常が発生した際にタイムリーにアラートを送信したり、下流ノードをブロックしたりできます。これにより、空のデータやダーティデータによるビジネスの停止を防ぐことができます。