注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このドキュメントでは、パイプラインの健康状態を監視するためのヘルスチェックを設定するためのベストプラクティスを提供します。これらのガイドラインに従うことで、データが入力され、データが構築され、データが出力されることを確認するための、堅牢で効果的な監視レベルを達成できるはずです。
これらのベストプラクティスは、データセット内のコンテンツの品質、正確性、または有効性を保証することはカバーしていません。これには、パイプライン内で行うべき適切な検証を決定するために、パイプラインのより詳細で機能的な知識が必要です。
また、これらのガイドラインは、ヘルスチェックの設定に関する一般的な落とし穴を回避するのに役立ちます。
これらのガイドラインは、以下の理解に基づいています。
このドキュメントでは、スケジュールの入力、中間、および出力への参照は、Data Lineageアプリケーションのスケジュール構成とは異なる、解決されたスケジュールを指します。
解決されたスケジュールは、スケジュールに関与するさまざまなデータセットに役割を割り当てるための精神モデルです。いくつかのデータセットは、スケジュールによって構築できるため、スケジュールのデータセット選択の一部であることが関与します。他のデータセットは、ビルドに必要な必須の入力として関与します。データセットの役割によって、異なるヘルスチェックが推奨されます。
スケジュール内のデータセットは、次のいずれかの役割を持つことができます。
具体的な例として、スケジュールが以下のデータセットを構築すると想像してください。
この場合、スケジュールを次のように分割できます。
スケジュールの入力、出力、および中間が何であるかを判断する最も簡単な方法は、データフローでスケジュールを開くことです。データフローで、サイドバーからスケジュールを選択すると、スケジュールの色分けが適用され、スケジュールがどのようなビルドを試みるかを理解するのに役立ちます。
ターゲットと構築を試みるものは、通常、スケジュールによって構築されます。ただし、Data Connectionの同期されたデータセットの場合は、スケジュールで「強制構築」が設定されている場合にのみ構築されます。
除外は、スケジュールによって決して構築されません。
*入力(接続ビルドのみ)*は、スケジュールによって構築されません。ただし、それらの上流に別の入力がある場合には構築されます。
古さに関する短い説明:実際には、スケジュールはこのグラフのすべてを構築することはめったにありません。なぜなら、一部のデータセットはすでに最新であり、それらを再計算することはリソースの無駄になるからです。ただし、スケジュールを解決することは、スケジュールが触れるすべてのことを理解することです。
スケジュールは「ターゲット」で定義されており、これらは通常「出力」と同じです。ただし、ターゲットと出力が異なる場合があります。
(1)データセットは、「ターゲット」として明示的に定義されていなくても、「出力」になることがあります。
output_c
を構築するスケジュールは、B、C、およびDの間の変換が複数の出力変換であるため、必ずoutput_d
も構築する必要があります。
したがって、output_c
を対象とするスケジュールは、output_c
とoutput_d
の両方を出力として持ちます。output_d
は、スケジュール内の他のデータセットには使用されないスケジュールによって構築されるデータセットだからです。
(2)データセットが「ターゲット」として定義されていても、「出力」としては扱われません。
データセットがスケジュールの「ターゲット」として定義されていても、スケジュール内の他のデータセットに使用される場合、それは「出力」データセットではなく「中間」データセットと見なされます。
この例では、dataset_cはスケジュールの「ターゲット」ですが、「出力」としては扱われません。
以下のステップバイステップガイドは、Job vs Build Statusチェック、およびSync vs Data Freshness vs Time Since Last Updatedチェックの理解に基づいています。これらのチェックの違いがわからない場合は、ここでヘルスチェックのタイプを確認してください。
スケジュールは、パイプラインの適切な表現を提供します。監視の推奨される単位であるため、監視は設定したスケジュールの品質によって決まります。ヘルスチェックを設定する前に、スケジュールがここで概説されているベストプラクティスに従っていることを確認するために時間をかけてください。
パイプラインの解決された入力すべてにチェックをインストールします。パイプラインが失敗した場合、根本原因を追跡できるようにすることが重要です。入力の古さやスキーマの破損が発生することがあります。入力にチェックをインストールすることで、それらを検出するのに役立ちます。注:現時点では、特定のデータセットには、同じタイプのチェックが1つしか存在できません。インストールしようとしたチェックがすでに存在する場合は、それを購読するだけです。
パイプラインの解決された出力すべてにチェックをインストールします(これらはスケジュールによって構築されますが、スケジュール内の他のデータセットには使用されません)。
必要に応じて、重要な中間データセットにチェックをインストールしてください。これらのデータセットは、ユーザーが別のアプリケーションで直接使用するか、同期を介して使用します。
上記で説明したベストプラクティスは、参照のためにこのテーブルにまとめられています。
ビルドステータス | スキーマ | ビルド期間 | TSLU | データフレッシュネス | 同期フレッシュネス | 同期ステータス | |
---|---|---|---|---|---|---|---|
入力 | ✓ | ✓ (追加を許可) | |||||
中間 | |||||||
出力 | ✓ | ✓ (完全一致) | ✓ | ✓ | |||
ユーザー向けデータセット* | ✓ (完全一致) | ✓ | |||||
同期されたデータセット* | ✓ (完全一致) | ✓ | ✓ | ✓ |
[*] 入力、中間、または出力データセットになることがあります。ユーザー向けデータセットは、Contourなどのアプリでユーザーが直接使用するデータセットです。