データ統合パイプラインの最適化とビルドパイプラインのデバッグスケジュールのトラブルシューティング

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

スケジュールのトラブルシューティング

スケジューラのメトリクスページ

スケジュールの問題をトラブルシューティングする際の最初の方法の1つは、スケジューラメトリクスページを確認することです。メトリクスページでは、次のような一般的な失敗モードを含む、障害の原因がわかります。

Versionsタブには、過去のスケジュールのバージョンと編集が表示され、スケジュールが予期せずに異なる動作をするようになった場合に役立ちます。この変更と一致するスケジュールのバージョンに対する変更を確認し、スケジュールを以前の動作状態に戻すことを検討してください。

スケジュールされたビルドが失敗している

スケジュールが予定通りにトリガーされたかどうかを、スケジューラメトリクスページRun Historyタブで確認できます。

スケジュールがトリガーされたが、その後のビルドが失敗した場合は、デバッグガイダンスに従ってこのビルドをデバッグできます。

スケジュールがビルドできないのは、適切な権限が設定されていない場合もあります。スケジュールの権限は、スケジュールがどのトークンモードにあるかによって異なります。詳細については、プロジェクトスコープのスケジュールを参照してください。

スケジュールされたビルドが無視された

スケジュールが予定通りにトリガーされたかどうかを、スケジューラメトリクスページRun Historyタブで確認できます。これにより、スケジュールが無視された理由も通常わかります。

すべてのデータセットが最新

スケジュールの実行は、対象のデータセットすべてが最新の場合、すなわち、入力が最後のビルド以降に更新されていない場合には無視されます。この場合、Run Historyタブにこの理由が表示されます。スケジュールエディタに移動し、スケジュールのリストにアクセスします。次に、Out-of-dateでData Lineageグラフの色分けを行い、どのジョブスペックが古いと見なされているかの概要を確認できます。

特別な状況では、詳細設定Force Buildオプションを使用してこの動作を上書きできますが、これらの状況以外では計算上無駄です。対象データセットがフォノグラフ同期、API呼び出しを使用した変換、またはデータ接続同期でビルドされるデータセットのいずれかである場合、それらは古いと表示されず、スケジュールの実行にForce Buildオプションを有効にする必要があります。

スケジュールはデータセットの一部をビルドする

スケジュールがデータセットの一部のみをトリガーする場合、スケジューラメトリクスページRun Historyタブでこの証拠が表示されます。

これが起こる原因の1つは、データセットの一部のみが古いことです。スケジューラは、古いデータセットのみをビルドし、最新の状態のものはビルド中に無視されます。詳細なトラブルシューティングは、すべてのデータセットが最新を参照してください。すべてのデータセットが最新である場合、ビルドはIgnoredとなります。

別の原因としては、データセットがビルドのデータセットグラフに含まれていないことが考えられます。スケジュールエディタでは、特定のスケジュールが選択されていると、Data Lineageグラフでビルドされるデータセットが強調表示されます。データセットの選択は、ビルドタイプに依存します。Connecting buildを使用している場合は、特に同じデータセットを複数のブランチで使用しているスケジュールについて、接続データセットが存在するかどうかを確認してください。

スケジュールがトリガーされなかった

スケジュールが予定通りにトリガーされたかどうかを、スケジューラメトリクスページRun Historyタブで確認できます。ここでの一般的なデバッグ手順は次のとおりです。

  • スケジュールが一時停止していないか確認してください。一時停止したスケジュールは、再開されるまでトリガーされません。
  • スケジュールのトリガー設定を確認してください。これが以前に成功していた場合は、スケジュール履歴を確認して、最近トリガーに変更があったかどうかを確認してください。
  • スケジュールがイベントトリガーを使用している場合は、予期されるイベントが実際に発生したことを確認してください。たとえば、入力の更新時にビルドがトリガーされる場合は、入力の最後のビルドが正常に実行され、このビルドのトランザクションがDataset Preview Historyビューで正常にコミットされたことを確認してください。

スケジュールのリトライが設定と異なる

すべてのタイプの失敗がリトライ可能であるわけではないことに注意してください。スケジュールの実行時のリトライ回数は、管理者が設定した最大値に制限されます。詳細については、詳細設定を参照してください。

スケジュールがJobSpecInputsTrashedまたはJobSpecOutputsTrashedで失敗する、またはData Lineageで一部のデータセットが破棄されていると警告される

これは、スケジュールが破棄されたリソースを含んでいるか、破棄されたリソースから読み取りが行われていることを意味します。次のいずれかを行って解決できます。

  • 削除されたデータセットをゴミ箱から復元します。
  • 削除されたデータセットをスケジュールから除外します。このデータセットがスケジュール内の別の下流データセットの入力として使用されている場合、以下のいずれかを行う必要があります。
    • 破棄されたデータセットと一緒に、下流データセットも除外します。
    • 下流データセットのロジックを変更して、破棄されたデータセットを入力として使用しないようにします。

スケジューラの権限

スケジュールを編集できない問題が発生した場合、プロジェクトスコープの権限が原因である可能性があります。

プロジェクトスコープモードでスケジュールを編集するには、ユーザーは対象データセットに対してEdit権限を持っている必要があります。また、トリガーデータセットに対してView権限を持っている必要があります。さらに、スケジュールがスコープされているプロジェクトに対してEdit権限を持っている必要があります。権限が失われた1つのデータセットがある場合は、変更を保存する前に、そのデータセットをスケジュールから削除してください。

スケジュールを編集、削除、または一時停止するには、ユーザーは対象データセットに対してEdit権限を持っている必要があります。また、スケジュールがスコープされているプロジェクトに対してEdit権限を持っている必要があります。スケジュールを表示するには、ユーザーは対象データセットに対してView権限を持っている必要があります。