本ページでは、ODPS データソースの設定方法を説明します。
[Rules configuration] は、Data Quality の中心的な機能モジュールです。 データソースは、ODPS データソースと DataHub データソースに分けられます。
データソースの選択
- 左側のナビゲーションウィンドウで、[Rules Configuration] をクリックし、[Rules configuration] ページを開きます。
- 参加しているプロジェクト内のすべてのテーブルを表示するには、[MaxCompute] を選択します。
注 検索ボックスを使用することで、他のデータソース内のトピックをすぐに見つけることができます。
- 右側の[Configure Monitoring Rules] をクリックします。
また、「My subscription」より、[My subscriptions] で[ODPS data source] を選択し、右側の[Partition expressions] をクリックして、[Rules configuration] 設定ページを開きます。
パーティション式の設定
パーティション式は、入力ルールを一致させるために使用される、フィルタリング条件です。
[Rule Configuration] ページで、左上のプラス記号 [+] をクリックし、パーティション式を追加します。
- 新規パーティション式: 左上の [+] をクリックすると、[Add a partition] がポップアップします。要件に基づき、構文に準拠したパーティション式を編集します。 非パーティションテーブルについては、推奨されるパーティション式のリスト内の [NOTAPARTITIONTABLE] をクリックすることで、直接選択することができます。
- 第 1 レベルパーティション式の形式: パーティション名 = パーティション値です。 パーティション値は、固定値または定義済みパラメーター式にすることができます。
- マルチレベルパーティション式の形式: 第 1 レベルパーティション名 = パーティション値 / 第 2 レベルパーティション名 = パーティション値 / N レベルパーティション名 = パーティション値です。 パーティション値は、固定値または定義済みパラメーター式にすることができます。
定義済みパラメーター式
- $[yyyymmddmiss-1]
この形式は、
yyyymmddmiss-1
です。 日次でスケジュールされているインスタンスの前日 (年月日) のスケジュール時刻です。これは、自動スケジュールされた日次ノードのインスタンスの時刻 (年-月-日) から、1 日を引いたものです。 - $[yyyymmddhh24miss]
この形式は、
yyyymmddhh24miss
です。 定期的にスケジュールされたインスタンスのスケジュールされた時間 (年月-日-時間-分-秒) を指定します。- Yyyy は 4 桁で西暦を表します。
- Mm は 2 桁で月を表します。
- DD は 2 桁で日を表します。
- Hh24 は 24 時間を表します。
- MI は 2 桁で分を表します。
- SS は 2 桁で秒を表します。
Get +/- period メソッド
パーティション式のサイクルは、設定された実行時間によって決定されます。たとえば、実行時間を最初の 5 日間に設定すると、そのサイクルは 5 日間ごとにスケジュールされます。
- N 日前: $ {yyyymmdd-N}
- 毎月 1 日: $ {yyyymm01-1}
- N ヶ月前の 1 日目: $ {yyyymm01-Nm}
- 毎月末日: dt = $ {yyyymmld-1}
- N ヶ月前の末日: dt = $ {yyyymmld-Nm}
- 1 時間前: $ [hh24miss-1/24]
- 30 分前: $ [hh24miss-30/24/60]
- [Added partition expressions]: すでにテーブルに追加されているパーティション式を示します。
- [Recommended partition expressions]: Data Quality により推奨されるパーティション式を示します。 [Recommended
partition expressions] のリストで要件を満たすパーティション式を見つけ、追加することができます。 推奨されるパーティションがテーブルに正常に追加されると、[Added
Partitions] セクションに表示されます。
推奨される式、およびカスタマイズされた式が要件とマッチするかどうかわからない場合、パーティション計算機能を使用して計算を行うことができます。
- [Delete partition expression]: 使用されなくなったパーティション式は削除することができます。 パーティション式にルールが設定されている場合、その式下にあるすべてのルールも削除されます。
次の例では、パーティション名 dt が例として使われています。 テーブルが動的パーティションテーブルの場合、正規パーティション式の使用は推奨されません。
パーティション式 | 説明 |
---|---|
ALL_PARTITIONS | このパーティション式は、非パーティションテーブルに対して選択します。 |
dt = [[a-zA-Z0-9 _-] *> | この式は通常、数時間のタスクに使用されます。 テーブルパーティションが時間パーティションの場合、正規式がパーティション式に自動的に置き換えられます。 |
dt=$[yyyymmdd-N] | N 日前を表します。 |
dt=$[yyyymm01-1] | 毎月 1 日を表します。 |
dt=$[yyyymm01-Nm] | N か月前の 1 日目を表します。 |
dt=$[yyyymmld-1] | N か月前の末日を表します。 |
dt=$[yyyymmld-1m] | 現在から N か月前の末日を表します。 |
dt=$[hh24miss-1/24] | 1 時間前を表します。 |
dt=$[hh24miss-30/24/60] | 30 分前を表します。 |
式入力ウィンドウをクリックすると、推奨されるパーティション式がドロップダウンリストに表示されます。
- 適切な式がリストにある場合、その行をクリックすると、式は自動的に出力ウィンドウに同期されます。
- どのパーティション式も要件を満たしていない場合、要件に応じてパーティション式を入します。
操作が完了したら、[Calculate] をクリックします。 Data Quality は、パーティション式の正確性を検証するため、現在の時刻 (スケジュールされた時刻) に応じてパーティション式の値を計算します。
[Ok]をクリックして操作を完了します。
関連付けられたスケジュール
本番環境用のリンクにあるオフラインデータをモニターするには、Data Quality の関連付けられたスケジュール機能を使用します。 [Porject Manager]、[Development]、[O&M] の 3 つのロールのうち、少なくとも 1 つのロールが、両方のプロジェクトで付与されていることを確認してください。
関連付けられたスケジュールを既存のタスクノードに追加することができます。 スケジュールと関連付けを行った後、データ品質モニタリングタスクは自動的に実行されます。 (データ品質をモニターしたくない場合は、以下の手順をスキップします)
- 対応するタスクタブで、 をクリックします。
- 特定のプロジェクト名とテーブル名を選択し、対応するパーティション式タブで [Configurations] をクリックして (自分でパーティション式を追加することもできます)、このパーティション式を設定します。
ルールの作成
テーブルの実際の要件に従ったルールの作成は、Data Quality のコア機能モジュールです。
現在、各ルールはテンプレートルールとカスタマイズルールの 2 つの方法で作成することができます。具体的な使用方法は実際の要件によって異なります。 これら 2 種類のルールは、[Add monitoring rules] と[Quick add] に分けられます。
ルールを作成したら、 [Save batches] をクリックし、すべてのルールをすでに作成されているパーティション式に保存します。
- モニタリングルールの追加
- [Field type]: テーブルレベルのルール、およびフィールドレベルのルールで構成されています。 フィールドレベルのルールでは、テーブル内の特定のフィールドに対するモニタリングルールを設定します。 ここでは、テーブルレベルのルールが選択されます。インターフェイスのその他の設定項目は、テーブルレベルのルール設定と対応します。
- [Intensity]: ルールの強度を設定します。 たとえば、[strong] を選択した場合、タスクの実行中に赤のしきい値がトリガーされると、タスクは失敗するように設定されます。
- [Template type]: システムには、定義済みのテーブルレベルモニタリングルールモジュールがあります。
- [Tendency]: 選択されたテンプレートのタイプに基づき、 [Tendency] には、"absolute value"、"increasing"、"decreasing" が含まれます。
- [Comparison of fluctuation values]: 変動値のオレンジと赤のしきい値を設定します。 プログレスバーを手動でドラッグするか、しきい値を直接入力します。
- クイック追加
- [Field name]: フィールドレベルのルールにのみ使用できます。 フィールドレベルのルールでは、テーブル内にある特定のフィールドのモニタリングルールを設定します。 特定のフィールドを選択し、フィールドレベルのルールを設定します。
- [Rule type]: フィールドの null 値、またはフィールドの繰り返し値を選択します。
テンプレートルールが、パーティション式の品質モニタリングの要件を満たしていない場合、カスタマイズしたルールを使用してカスタムモニタリングルールを作成します。
カスタマイズルール
- モニタリングルールの追加
- [Field Type]: テーブルレベルのルール、フィールドレベルのルール、およびカスタマイズされた SQL で構成されています。 ここではテーブルレベルのルールが選択されます。また、インターフェイス内の他の設定項目は、テーブルレベルのカスタマイズされたルール設定に対応します。
- [Intensity]: [strong] を選択した場合、タスクの実行中に赤のしきい値がトリガーされると、タスクは失敗するように設定されます。
- [Statistical functions]: count と count/table_count の 2 種類があります。
- [Filter conditions]: カスタマイズされた SQL に準拠します。
- [Verification method]: 定義済みの検証方法を選択することができます。 [Verification method]は、既定では固定値になります。
- [Tendency]: "absolute value"、"increasing"、"decreasing" の3 種類があります。 [Statistical functions] がcount/table_count に設定されている場合、[Tendency] は既定で固定値になります。
- [Comparison method]: 実際の要件に応じて、以下の多くのオプションがあります。"greater than"、"greater than or equal to"、"equal to"、"not equal to"、"less than"、"less than or equal to"
- [Expected value]: ターゲット期待値。
- [Description]: カスタマイズルールの詳細な説明。
- クイック追加
- [Rule type]: 2 つのタイプが含まれます。テーブル内の行数は、null 値およびフィールドの繰り返し値より大きいです。
- [Field name]: ルールタイプが、[Multiple fields repetition value] の場合、追加する必要があるフィールド名が表示され、複数のフィールド名を追加することができます。
テストの実行
ルールを設定したら、パーティション式下にあるすべてのルールに対してテストを実行し、テストの実行結果を表示します。
- 任意のスケジュール日を選択し、[Test run] をクリックします。
- [Test run partition]: 実際のパーティションは、営業日の変更に伴い変わってきます。 [NOPARTITIONTABLE] を選択している場合、実際のパーティションは自動的に追加されます。
- [Scheduling time]: 既定では現在の時間です。
- [test run success!]、[Trial Run Success] をクリックし、テスト実行の結果を表示します。「task query」ページに移動し、結果を確認します。
責任者の変更
責任者が退職または転職した場合、他のプロジェクトメンバーと併せて、パーティション式の担当者を変更することができます。 責任者の上にマウスを置くと、非表示のボタンが表示されます。
責任者の上にマウスを置くと、非表示のボタンが表示されます。 クリックして担当者を変更し、新しい担当者の名前を入力します。入力が終わったら、 [Confirm]を クリックして送信します。
[More] オプション
- [Partition operations logs]: 現在のパーティション式のすべてのルール設定の記録を表示します。
- [Last verification results]: 現在のパーティション式下で、実行結果を表示するタスククエリインターフェイスにリダイレクトします。 また、過去の結果履歴を確認することもできます。
- [Copy rules]: 現在設定されているルールをターゲット式にコピーし、送信を同期させることができます。
ODPS データソースでサポートされているテンプレートルールの詳細は、「テンプレートルール」をご参照ください。