Troubleshoot and repair job failures | Databricks on AWS [2022/12/7時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
Databricksジョブ実行において、(メール通知や監視ソリューション、DatabricksジョブのUIなどを通じて)タスクが失敗したという通知を受け取ったものとします。本書のステップでは、ジョブ実行に失敗した理由を特定するのか、特定した問題の修正に関する提言、そして、どのように失敗したジョブ実行をリペアするのかのガイドを提供します。
失敗の原因の特定
DatabricksジョブのUIで失敗したタスクを特定するには:
- サイドバーのワークフローをクリックします。
- 名前の列でジョブ名をクリックします。ジョブの実行タブにはアクティブなジョブ実行、失敗したものを含む完了したジョブ実行が表示されます。
- マトリックススビューに切り替えるには、マトリックスをクリックします。魔トリックビューには、それzれおのジョブタスクの成功、失敗を含むジョブの実行履歴が表示されます。マトリックスビューを用いることで、ジョブ実行で失敗したタスクをクイックに特定することができます。
- 関連メタデータを確認するために失敗したタスクの上にマウスカーソルを移動します。メタデータには、開始日、終了日、期間、クラスター詳細、エラーメッセージが含まれています。
- 失敗の原因の特定を行うために、失敗したタスクをクリックします。タスク実行の詳細ページが開き、タスクの出力、エラーメッセージ、メタデータが表示されます。
失敗の原因の修正
あなたのタスクは、データ品質問題、設定ミス、不十分な計算リソースなどあらゆる理由によって失敗することがあり得ます。以下には、タスク失敗における一般的な問題修正のステップを示しています。
- 失敗がタスク設定に関連している場合には、タスクを編集をクリックします。新規タブでタスク設定ページが開きます。必要に応じてタスク設定を更新し、タスクを保存をクリックします。
- 問題が不十分なインスタンスなどクラスターのリソースに関連している場合には、いくつかの選択肢があります:
- ジョブがジョブクラスターを使うように設定されている場合には、共有all-purposeクラスターを使うことを検討します。
- クラスター設定を変更します。タスクを編集をクリックします。クラスターを設定するために、ジョブの詳細パネルのクラスターの下の設定をクリックします。ワーカー数、インスタンスタイプ、その他のクラスター設定オプションを変更することができます。また、他のクラスターにスイッチするために切り替えをクリックすることもできます。利用可能なリソースを最適に活用できるように、クラスター設定のベストプラクティスをご覧ください。
- 必要であれば、クラウドアカウントやワークスペースがデプロイされているリージョンのリソースクオータを引き上げることを管理者に依頼してください。
- 失敗が同時実行数の最大値を超えたことによって引き起こされているのであれば、以下のいずれかを行います:
- 他のジョブ実行が完了するのを待ちます。
- タスクを編集をクリックします。ジョブの詳細パネルの同時実行ジョブを編集をクリックし、同時実行可能な最大ジョブ数に新たな値を入力し、確認をクリックします。
特には失敗の原因が外部データソースが利用できないなど、ジョブの上流の存在することがあります。外部の問題が解決した後には、次のセクションで説明されているジョブ実行のリペアを活用することができます。
失敗し、スキップされたタスクの再実行
Databricksジョブのリペア、リラン機能によって、失敗したタスクやスキップされたすべての後段のタスクを再実行することができます。失敗の原因の修正した後は、以下のステップでジョブ実行をリペアすることができます:
- 完了済みの実行アイテム (過去60日)の開始時刻カラムにある失敗ジョブ実行のリンクをクリックするか、マトリックスビューで失敗したタスクをクリックします。ジョブ実行の詳細ページが表示されます。
- ジョブ実行を修復をクリックします。ジョブ実行を修復ダイアログが表示され、再実行されることになるすべての失敗タスクと依存タスクが一覧されます。
- 修復するためにタスクのパラメーターを追加、変更するには、ジョブ実行を修復ダイアログでパラメーターを入力します。ジョブ実行を修復ダイアログで入力したパラメーターは既存の値を上書きします。以降の修復ジョブ実行では、ジョブ実行を修復ダイアログのキーバリューをクリアすることでオリジナルの値に戻すことができます。
- ジョブ実行を修復ダイアログのジョブ実行を修復をクリックします。
- 修復ジョブが終了すると、修復ジョブ実行の新規カラムでマトリックスビューが更新されます。赤色だったすべての失敗タスクが、ジョブ全体の実行を成功したことを示す緑色に変わっているはずです。