データ接続と統合パイプラインの最適化とデバッグパイプラインのデバッグ失敗するジョブのデバッグ

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

失敗するジョブをデバッグする

Foundry でデータ変換コードを作成していると、ジョブが開始直後、またはしばらく経ってから失敗することがあります。このページでは、失敗するジョブのデバッグに推奨されるワークフローと、ジョブが失敗し始めた理由を理解するために Foundry で利用可能なツールを説明します。

推奨ワークフロー

次のグラフは、トランスフォームのジョブの失敗をデバッグするための推奨ワークフローを示しています。

ジョブのデバッグ

  • [1] 以下で説明するジョブ比較を使用します。
  • [2] ジョブレポートに移動し、アクション > デバッグジョブとして再実行を選択して、以前に成功したビルドのモジュールバージョンを選択すると、特定のモジュールバージョンでビルドをテストできます。
  • [3] OOM エラーのトラブルシューティング。
  • [4] リポジトリのアップグレード。
  • [5] ジョブレポートに移動し、ログ > _driver.log > ダウンロードを選択すると、ジョブのドライバーログをダウンロードできます。

ジョブを比較する

ジョブ比較ツールでは、現在のジョブと前回成功したジョブの実行を比較できます。変更の調査やビルドの問題のトラブルシューティングに役立ちます。出力トランザクションがあるジョブであれば、Builds アプリケーションのビルドレポートページからアクセスできます。ジョブ比較ツールにアクセスするには、いずれかのジョブ行の「比較」ボタンをクリックします。

ジョブ比較ツールを開く

比較の概要

このタブには、ジョブ中に発生した変更の概要が表示されます。いずれかのデータセットをクリックすると新規タブが開き、Dataset アプリの比較ツールでトランザクションの変更を探索できます。リポジトリをクリックすると、ジョブが実行されたコミット時点のソースリポジトリにブラウザーがリダイレクトされ、このジョブの出力に関連付けられたファイルだけでなく、リポジトリ全体を探索できます。

ジョブ比較の概要

入力の変更

このタブには、入力データセットの変更の概要が表示され、メタデータ、スキーマ、統計情報の変更が強調表示されます。データセットに特筆すべき列の変更がある場合は、行を選択すると、それらの変更の概要が展開されます。変更を詳しく探索するには、いずれかのデータセットを選択します。Dataset アプリにリダイレクトされ、さらに比較できます。

ジョブ比較の入力

コードの変更

コードの変更では、出力が定義されているファイルについて、今回のジョブ実行と前回成功した実行の間のコードの変更が強調表示されます。さらに詳細を確認できるように、該当コミット時点のソースリポジトリにリダイレクトするボタンが用意されています(ソースが Code Repositories の場合のみ利用可能です)。コードリポジトリまたはコードワークブックに基づくジョブであれば、コードの差分を確認できます。

ジョブ比較のコード

ハングしているビルド

ビルドがハングしている場合は、上記のワークフローに沿って進めてください。このジョブを初めて実行する場合は、ユーザーコードが原因でビルドがハングしている可能性が最も高いです。

失敗したジョブとの重要な違いは、ビルドをキャンセルするとドライバーログが失われることです。ビルドをキャンセルする前に、ログ > _driver.log > ダウンロードを選択して、ストリーミングされるドライバーログをダウンロードしてください。また、Spark の詳細のエグゼキューター > スナップショットから、実行中のビルドのスナップショットを取得することもできます。これらを利用すると、キャンセル後にハングしていたビルドのトラブルシューティングを行えます。

AI エラーエンハンサー(AIP)

お使いのスタックで AIP が有効になっている場合、AI エラーエンハンサーウィジェットが失敗したジョブの詳細表示を補完し、発生した問題の理解と解決を支援します。

Job Tracker の AI エラーエンハンサーのアニメーションスクリーンショット