[モニタリングルール] ページは、Data Quality の最も重要な部分です。E-MapReduce、MaxCompute、および DataHubのデータをモニタリングするルールを設定できます。 このトピックでは、DataHub のモニタリングルールを設定する方法について説明します。

このタスクについて

DataHub のモニタリングは、以下の機能をサポートしています。
  • ストリームの不連続性とデータの遅延を監視するためのテンプレート
  • カスタムFlink SQL、ディメンションテーブルの JOIN、マルチストリームの JOIN、ウィンドウ関数などのストリーム処理機能

手順

  1. DataHub 接続を追加します。
    1. DataWorks コンソールにログインします。
    2. 左側のナビゲーションペインで [ワークスペース] をクリックします。
    3. ワークスペースのリージョンを選択し、[データ統合] をクリックします。
    4. 左側のナビゲーションペインで、[接続] をクリックします。
    5. 右上に表示される [接続の追加] をクリックして DataHub 接続を追加します。 詳細については、「Datahub 接続の設定」をご参照ください。
  2. DataHub 接続を選択します。
    1. 現在のページで、左上に表示される アイコン をクリックし、[すべてのプロダクト] > [Data Quality] を選択します。
    2. 左側のナビゲーションペインで [モニタリングルール] をクリックします。
    3. [エンジン/データソース][DataHub] に設定し、DataHub 接続を選択します。 選択した DataHub データストアのすべてのトピックが表示されます。
      パラメーター 説明
      Flink リソースの設定 接続の追加後、[Flink リソースの設定] をクリックし、接続に関連する Flink および Log Service のリソースを設定します。
      トピック [トピック] タブには、DataHub データストアのすべてのトピックが一覧表示されます。 トピックの [操作」列で、以下の操作をクリックできます。
      • モニタリングルールの表示:トピックのルールを作成します。 必要に応じて、テンプレートルールおよびカスタムルールを作成できます。
      • サブスクリプションの管理:現在のトピックのサブスクライバーを表示および変更し、通知方法を変更します。 DingTalk チャットボットの通知方法を設定できます。 変更された通知方法は、トピックのすべてのサブスクライバーに対して有効になります。
      ディメンションテーブル トピックのカスタムルールを作成する際、ディメンションテーブルを作成し、JOIN 句を使用してディメンションテーブルを結合できます。 収集されたデータストリームにディメンションテーブルの一部のフィールドが存在しない場合は、データ分析の前にデータストリームにフィールドを追加し、Data Quality でディメンションテーブルを宣言する必要があります。

      DataHub は、ApsaraDB for HBase、Lindorm、ApsaraDB for RDS、Table Store、Taobao Distributed Data layer、およびMaxCompute のディメンションテーブルをサポートしています。

      Flink SQL には、ディメンションテーブル用の DDL 構文がないため、 標準の CREATE TABLE ステートメントを使用します。 ただし、ディメンションテーブルの期間を指定し、ディメンションテーブルに時変データが格納されることを宣言するには、 period for system_time を追加する必要があります。
      ディメンションテーブルを宣言する際、プライマリキーを指定する必要があります。 ディメンションテーブルを別のテーブルと結合する場合、ON 条件には、いずれかのテーブルの主キーを含む等価条件が含まれている必要があります。
    4. [トピック] タブをクリックします。 目的のトピックを確認し、 [操作] 列の [モニタリングルールの表示] をクリックします。
  3. トピックの [モニタリングルール] ページで、 [ルールの作成] をクリックします。
  4. モニタリングルールを作成します。
    Data Quality では、必要に応じてテンプレートルールとカスタムルールを作成できます。
    • [テンプレートルールの作成] をクリックします。 [データの遅延] および [ストリームの不連続性] の 2 つのテンプレートを使用できます。
      たとえば、テンプレートのタイプとして [データの遅延] を選択できます。データの遅延
      パラメーター 説明
      ルール名 ルールの名前を設定します。 名前の長さは、最大 255 文字です。
      フィールドのタイプ 監視対象のフィールドを設定します。 デフォルトでは、このパラメーターは [テーブルのすべてのフィールド] に設定されています。
      テンプレートのタイプ
      • データの遅延:データタイムスタンプフィールドに基づいて、データが生成された時刻およびデータが DataHub に書き込まれた時間の間隔を監視します。 間隔が指定されたしきい値を超えると、アラートが生成されます。
        • ストリームの不連続性のルールを設定する前に、Flink で Alibaba Cloud Realtime Compute を有効化し、プロジェクトを作成する必要があります。
        • データタイムスタンプフィールドは、TIMESTAMP および STRING (yyyy -MM -dd H dd HH:mm:ss) の 2 つのデータ型をサポートしています。
      • ストリームの不連続性:DataHub にデータが書き込まれない期間を監視します。 期間が指定されたしきい値を超えると、アラートが生成されます。
      アラートのしきい値 データの遅延に対して生成されるアラート数の上限を設定します。 Data Quality は、データの遅延に対して生成されたアラートの数がこのしきい値を超えるとアラートを報告します。 このパラメーターは、[テンプレートのタイプ] で [データの遅延] を選択した場合のみ有効です。
      データタイムスタンプフィールド ルールが作成されるトピックのデータタイムスタンプフィールドです。 このフィールドは、TIMESTAMP および STRING (yyyy -MM -dd H dd HH:mm:ss) の 2 つのデータ型をサポートしています。 このパラメーターは、[テンプレートのタイプ] で [データの遅延] を選択した場合のみ有効です。
      アラート間隔 アラートを報告する間隔を設定します。 アラート間隔は、10 分、30 分、1 時間、または 2 時間に設定できます。
      警告のしきい値 警告のしきい値を秒単位で設定します。 値は整数で、エラーのしきい値よりも小さい必要があります。
      エラーのしきい値 エラーのしきい値を秒単位で指定します。 値は整数で、警告のしきい値よりも大きい必要があります。
    • テンプレートルールが DataHub トピックのデータ品質を監視するための要件を満たしていない場合、 [カスタムルールの作成] をクリックして、必要なルールを作成します。
      • SELECT 句のフィールドは列である必要があります。 フィールドの値を警告およびエラーしきい値と比較できることを確認してください。
      • FROM 句には、現在のトピックとそのすべての列が含まれる必要があります。
      パラメーター 説明
      ルール名 ルールの名前 名前はトピック内で一意である必要があり、長さは最大 20 文字です。
      スクリプト ルールの設定に使用する、カスタム SQL スクリプトを設定します。 SELECT 句の戻り値は一意である必要があります。 例:
      • 単純なSQLステートメント。
        select id as a from zmr_tst02;
      • トピックとディメンションテーブル "test_dim" の結合。
        select e.id as eid
        from zmr_test02 as e 
        join test_dim for system_time as of proctime() as w 
        on e.id=w.id
      • トピックと別のトピック "dp1test_zmr01" の結合。
        select count(newtab.biz_date) as aa
        from (select o.*
        from zmr_test02 as o
        join dp1test_zmr01 as p
        on o.id = p.id)newtab
        group by id.biz_date,biz_date_str,total_price,'timestamp'
      警告のしきい値 警告のしきい値を分単位で設定します。 値は整数で、エラーのしきい値よりも小さい必要があります。
      エラーのしきい値 エラーのしきい値を秒単位で指定します。 値は整数で、警告のしきい値よりも大きい必要があります。
      最小アラート間隔 アラートを報告する最小間隔を分単位で設定します。
      説明 カスタムトピックの説明を記述します。
  5. [一括作成] をクリックして、トピックに作成したルールを追加します。
    • ログの表示:クリックすると、ルールの操作ログが表示されます。
    • サブスクリプションの管理:クリックすると、現在のルールに対するサブスクライバーを表示および変更し、また通知方法を変更できます。 変更された通知方法は、ルールのすべてのサブスクライバーに対して有効になります。
      Data Qualityは メールメールおよび SMSDingTalk チャットボット、および DingTalk チャットボット @ALL の 4 つの方法をサポートしています。
      DingTalk チャットボットを追加し、ウェブホーク URL を取得します。 次に、Webhook URL を [サブスクリプションの管理] ダイアログボックスにコピーします。