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

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

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

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

スケジュールの問題のトラブルシューティングを始める有効な方法の1つは、スケジューラーのメトリクスページを確認することです。メトリクスページでは、次のような一般的な失敗パターンを含め、失敗の原因を確認できます。

バージョンタブには、過去のスケジュールのバージョンと編集内容が表示されます。スケジュールが突然、期待と異なる動作をし始めた場合に役立つことがあります。動作が変わったタイミングに対応するスケジュールのバージョン変更がないかを確認し、以前正常に動作していた状態にスケジュールを戻すことを検討してください。

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

スケジューラーのメトリクスページの実行履歴タブを確認すると、期待される時刻にスケジュールがトリガーされたかどうかを確認できます。

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

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

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

スケジューラーのメトリクスページの実行履歴タブを確認すると、期待される時刻にスケジュールがトリガーされたかどうかを確認できます。通常、このタブにはスケジュールが無視された理由も表示されます。

すべてのデータセットが最新の状態である

対象データセットがすべて最新の状態である場合、つまり各データセットの前回のビルド以降に入力が更新されていない場合、スケジュールの実行は無視されます。この場合、実行履歴タブにこの理由が表示されます。スケジュールエディターで、スケジュール一覧に移動します。そこで、最新ではない状態に基づいて Data Lineage のグラフを色分けでき、どの Job Spec が古い状態と見なされているかを把握できます。

特殊な状況では、詳細設定の強制ビルドオプションを使用して、この動作を上書きできます。ただし、それ以外の状況では計算リソースを無駄に消費します。対象データセットのいずれかが Phonograph の同期、API 呼び出しを伴うトランスフォーム、または Data Connection の同期によってビルドされる場合、それらは古い状態として表示されないことがあり、スケジュールを実行するために強制ビルドオプションを有効にする必要がある場合があります。

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

スケジュールが一部のデータセットのみをトリガーする場合、スケジューラーのメトリクスページの実行履歴タブでその記録を確認できます。

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

別の原因として、データセットがビルドのデータセットグラフに含まれていなかった可能性があります。スケジュールエディターでスケジュールを選択すると、ビルド対象のデータセットが Data Lineage のグラフで強調表示されます。データセットの選択はビルドの種類によって異なります。接続ビルドを使用している場合、複数のブランチで同じデータセットを使用するスケジュールでは、接続するデータセットが存在するかどうかを特に注意して確認してください。

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

スケジューラーのメトリクスページの実行履歴タブを確認すると、期待される時刻にスケジュールがトリガーされたかどうかを確認できます。この場合の一般的なデバッグ手順は次のとおりです。

  • スケジュールが一時停止されていないことを確認します。一時停止されたスケジュールは、一時停止が解除されるまでトリガーされません。
  • スケジュールのトリガー設定を確認します。以前は正常に動作していた場合は、スケジュールの履歴を確認し、最近トリガーに変更があったかどうかを調べます。
  • スケジュールがイベントトリガーを使用している場合は、期待されるイベントが実際に発生したことを確認します。たとえば、入力の更新時にビルドがトリガーされるはずの場合は、入力の前回のビルドが正常に実行され、そのビルドのトランザクションが正常にコミットされたことを、データセットプレビューの履歴表示で確認します。

スケジュールの再試行が設定と異なる

すべての種類の失敗で再試行できるわけではないことに注意してください。スケジュールの実行時の再試行回数は、管理者が設定した最大回数に制限されます。詳細については、詳細設定を参照してください。

スケジュールが JobSpecInputsTrashed または JobSpecOutputsTrashed で失敗する、または Data Lineage が一部のデータセットがゴミ箱にあると警告する

これは、スケジュールにゴミ箱に移動されたリソースが含まれているか、そのリソースから読み取っていることを意味します。次のいずれかを行うと解決できます。

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

スケジューラーの権限

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

プロジェクトスコープモードでスケジュールを編集するには、ユーザーは対象データセットに対する編集権限、トリガーデータセットに対する閲覧権限、およびスケジュールのスコープとなるプロジェクトに対する編集権限を持っている必要があります。権限を失ったデータセットがある場合は、変更を保存する前に、そのデータセットをスケジュールから外してください。

スケジュールを編集、削除、または一時停止するには、ユーザーは対象データセットに対する編集権限、およびスケジュールのスコープとなるプロジェクトに対する編集権限を持っている必要があります。スケジュールを閲覧するには、ユーザーは対象データセットに対する閲覧権限を持っている必要があります。