Databricksジョブのモニタリングと可観測性
この記事では、アクセス権を持つジョブの表示、ジョブの実行履歴の表示、およびジョブ実行の詳細の表示を行うために Databricks UI で使用できる機能について説明します。 ジョブの通知を設定するには、「 ジョブに通知を追加する」を参照してください。
Databricks CLI を使用してジョブを表示し、ジョブを実行する方法については、CLI コマンド databricks jobs list -h
、 databricks jobs get -h
、および databricks jobs run-now -h
を実行します。 Jobs API の使用方法については、 Jobs API を参照してください。
system.lakeflow
スキーマにアクセスできる場合は、アカウント全体からジョブ実行とタスクのレコードを表示およびクエリすることもできます。Jobs システムテーブル リファレンスを参照してください。
ジョブの表示
アクセス権のあるジョブのリストを表示するには、サイドバーの「 ワークフロー 」をクリックします。ワークフロー UI の [ジョブ ] タブには、ジョブの作成者、ジョブのトリガー (存在する場合)、最後の 5 つの実行の結果など、使用可能なすべてのジョブに関する情報が一覧表示されます。
ジョブリストに表示される列を変更するには、 をクリックして 列を選択または選択解除します。
次のスクリーンショットに示すように、ジョブ リストでジョブをフィルター処理できます。
キーワードで検索します。 キーワード検索は、名前、ジョブ ID、およびジョブ・タグ・フィールドでサポートされています。 キーと値を使用して作成されたタグを検索するには、キー、値、またはキーと値の両方で検索できます。 たとえば、キーが
department
で値がfinance
のタグの場合、department
またはfinance
を検索して一致するジョブを見つけることができます。 キーと値で検索するには、キーと値をコロンで区切って入力します(例:department:finance
)。所有しているジョブのみを選択します。
アクセス権限のあるすべてのジョブを選択します。
お気に入りとしてマークしたすべてのジョブを選択します。
タグを使用する。タグで検索するには、タグのドロップダウンメニューを使用して同時に最大5つのタグをフィルタリングするか、キーワード検索を直接使用できます。
また、ジョブのリスト (降順または昇順) を Name、 Job ID、または Created by columns で並べ替えるには、列ヘッダーをクリックします。 デフォルトでは、ジョブは 名前 の昇順でソートされます。
ジョブを開始するには、再生ボタンをクリックします。 ジョブを停止するには、停止ボタンをクリックします。 他のジョブアクションにアクセスするには、ケバブメニュー をクリックします(ジョブを削除するなど)。
1 つのジョブの実行を表示する
Apache Airflow や Azure Data Factory などの外部オーケストレーション ツールによって開始された実行を含む、アクセス権を持つジョブの現在実行中の実行と最近完了した実行の一覧を表示できます。 最近のジョブ実行のリストを表示するには:
サイドバーの[ワークフロー]をクリックします。
[名前] 列で、ジョブ名をクリックします。実行タブが表示され、アクティブな実行と完了した実行のマトリックス ビューとリスト ビューが表示されます。
マトリックス ビューには、各ジョブ タスクを含む、ジョブの実行履歴が表示されます。
マトリックスの実行 合計期間 行には、実行の合計期間と実行の状態が表示されます。 開始時刻、期間、ステータスなど、実行の詳細を表示するには、 実行合計期間 行のバーにカーソルを合わせます。
タスク行の各セルは、タスクとタスクの対応するステータスを表します。開始時間、期間、クラスター、ステータスなど、各タスクの詳細を表示するには、そのタスクのセルにカーソルを合わせます。
ジョブ実行バーとタスク実行バーは、実行のステータスを示すために色分けされています。 成功した実行は緑色です。 失敗した実行は赤、スキップされた実行はピンク、再試行の待機は黄色です。 保留中、キャンセル済み、またはタイムアウトは灰色です。 個々のジョブ実行バーとタスク実行バーの高さは、実行時間を視覚的に示します。
予想される完了時間を構成した場合、実行時間が構成された時間を超えると、マトリックス ビューに警告が表示されます。
デフォルト別では、実行リストビューには次の情報が表示されます。
実行の開始時刻。
実行識別子。
実行がジョブ・スケジュールまたは API 要求によってトリガーされたか、または手動で開始されたか。
現在実行中のジョブの経過時間、または完了した実行の合計実行時間。 期間が設定された 予定完了時間を超えると、警告が表示されます。
実行のステータス ( キューに登録済み、 保留中、 実行中、 スキップ、 成功、 失敗、 タイムアウト、 キャンセル中、 またはキャンセル済み)。
実行が終了したエラーコード。
実行パラメーター。
現在アクティブな実行には、停止ボタンが表示されます。 アクティブな実行とキューに入っているすべての実行を停止するには、ドロップダウン メニューから [実行のキャンセル] または [ キューに入っているすべての実行のキャンセル ] を選択します。
実行の は、完了した実行のエントリの削除など、追加のコンテキスト固有のアクションに使用します。
実行のコンテキスト固有のアクションにアクセスするには、ケバブメニュー をクリックします (たとえば、アクティブな実行を停止したり、完了した実行を削除したりします)。
実行リスト ビューに表示される列を変更するには、 をクリックして 列を選択または選択解除します。
ジョブ実行の詳細を表示するには、実行リスト・ビューの「開始時刻」列で実行のリンクをクリックします。このジョブの最新の成功した実行の詳細を表示するには、[ 最新の成功した実行に移動] をクリックします。
Databricks は、ジョブの実行履歴を最大 60 日間保持します。 ジョブの実行を保持する必要がある場合、Databricks では、有効期限が切れる前に結果をエクスポートすることをお勧めします。 詳細については、「 ジョブ実行結果のエクスポート」を参照してください。
ジョブ実行の詳細の表示
ジョブ実行の詳細ページには、ジョブ出力とログへのリンク (ジョブ実行の各タスクの成功または失敗に関する情報を含む) が含まれています。 ジョブの実行詳細には、ジョブ の実行 タブからアクセスできます。
[実行] タブからジョブの実行の詳細を表示するには、実行リスト ビューの [開始時刻] 列で実行のリンクをクリックします。ジョブ の実行 タブに戻るには、 ジョブ ID の値をクリックします。
複数のタスクを持つジョブには、グラフ、タイムライン、およびリスト ビューが追加されています。
Databricks はジョブの実行ステータスをどのように判断しますか?
Databricks は、ジョブの リーフ タスクの結果に基づいて、ジョブの実行が成功したかどうかを判断します。 リーフ タスクは、ダウンストリームの依存関係を持たないタスクです。 ジョブの実行には、次の 3 つの結果のいずれかがあります。
成功: すべてのタスクが成功しました。
失敗して成功しました: 一部のタスクは失敗しましたが、すべてのリーフ タスクは成功しました。
失敗: 1 つ以上のリーフ タスクが失敗しました。
スキップ: ジョブの実行がスキップされました (たとえば、ジョブまたはワークスペースの最大並列実行を超えたためにタスクがスキップされた可能性があります)。
タイムアウト: ジョブの実行が完了するまでに時間がかかりすぎたため、タイムアウトしました。
キャンセル済み: ジョブの実行がキャンセルされました (たとえば、ユーザーが進行中の実行を手動でキャンセルしたなど)。
ストリーミングタスクのメトリクスを表示する
プレビュー
Databricks ジョブのストリーミング可観測性は パブリック プレビュー段階です。
ジョブ実行の詳細を表示すると、ジョブ UI のストリーミング監視メトリクスを使用して、ストリーミングワークロードに関するデータを取得できます。 これらのメトリクスには、バックログ秒数、バックログバイト数、バックログレコード、およびソースSpark ApacheKafka(AmazonKinesis 、 、Auto Loader 、Google Pub/Sub、 テーブルなど 構造化ストリーミングでサポートされているバックログファイルが含まれます。Deltaメトリクスは、タスクの実行詳細を表示すると、右側のペインにグラフとして表示されます。 各チャートに示されているメトリクスは、分単位で集計された最大値であり、過去48時間まで含めることができます。
各ストリーミング ソースは、特定のメトリクスのみをサポートします。 ストリーミングソースでサポートされていないメトリクスは、UIで表示できません。 次の表は、サポートされているストリーミング ソースで使用できるメトリクスを示しています。
ソース |
バックログバイト |
バックログ レコード |
バックログ秒数 |
バックログ ファイル |
---|---|---|---|---|
Kafka |
✓ |
✓ |
||
Kinesis |
✓ |
✓ |
||
Delta |
✓ |
✓ |
||
Auto Loader |
✓ |
✓ |
||
Google Pub/Sub |
✓ |
✓ |
また、各ストリーミングメトリクスのしきい値を指定し、タスクの実行中にストリームがしきい値を超えた場合の通知を設定することもできます。 「低速ジョブの通知を構成する」を参照してください。
サポートされている構造化ストリーミング ソースの 1 つからデータをストリームするタスク実行のストリーミング メトリクスを表示するには:
( ジョブ実行の詳細 ) ページで、メトリクスを表示するタスクをクリックします。
タスク実行ペインのメトリクス タブをクリックします。
メトリクスのグラフを開くには、メトリクス名の横にある [ ] をクリックします。
特定のストリームのメトリクスを表示するには、[ ストリームによるフィルター ] テキスト ボックスにストリーム ID を入力します。 ストリーム ID は、ジョブ 実行の出力で確認できます 。
メトリクスグラフの期間を変更するには、時間ドロップダウンメニューを使用します。
実行に 10 を超えるストリームが含まれている場合にストリームをスクロールするには、[ 次へ ] または [ 前へ] をクリックします。
タスク実行履歴の表示
タスクの実行履歴(成功および失敗した実行を含む)を表示するには:
(ジョブ実行の詳細)ページでタスクをクリックします。[タスク実行の詳細] ページが表示されます。
実行履歴のドロップダウンメニューでタスクの実行を選択します。
For each
タスクのタスク実行履歴を表示する
For each
タスクの実行履歴へのアクセスは、標準の Databricks ジョブ タスクと同じです。(ジョブ実行の詳細)ページでFor each
タスクノードをクリックするか、マトリックスビューの対応するセルをクリックできます。ただし、標準タスクとは異なり、 For each
タスクの実行の詳細は、ネストされたタスクのイテレーションのテーブルとして表示されます。
失敗したイテレーションのみを表示するには、[ 失敗したイテレーションのみ] をクリックします。
イテレーションの出力を表示するには、イテレーションの [開始時間 ] または [終了時間 ] の値をクリックします。
すべてのジョブで最近実行されたジョブを表示する
Apache Airflow や Azure Data Factory などの外部オーケストレーション ツールによって開始された実行を含む、アクセス権を持つワークスペース内のすべてのジョブについて、現在実行中および最近完了した実行の一覧を表示できます。 最近のジョブ実行のリストを表示するには:
サイドバーの[ワークフロー]をクリックします。
[ジョブの実行] タブをクリックして、[完了した実行数] グラフと [ジョブの実行] リストを表示します。
終了実行カウントグラフ
[ 完了した実行数 ] グラフには、過去 48 時間に完了したジョブの実行数が表示されます。 デフォルトで、グラフには失敗したジョブ実行、スキップされたジョブ実行、および成功したジョブ実行が表示されます。 グラフをフィルター処理して、特定の実行ステータスを表示したり、グラフを特定の時間範囲に制限したりすることもできます。 [ ジョブの実行 ] タブには、過去 67 日間のジョブの実行のテーブルも含まれています。 デフォルトでは、テーブルには失敗したジョブ実行、スキップされたジョブ実行、および成功したジョブ実行の詳細が含まれます。
注:
[完了した実行数] グラフは、[自分が所有] をクリックした場合にのみ表示されます。
[Finished 実行数] は、実行ステータスでフィルタリングできます。
グラフを更新して、現在実行中または実行を待機しているジョブを表示するには、[ アクティブ実行] をクリックします。
失敗した実行、成功した実行、スキップされた実行など、完了した実行のみを表示するようにグラフを更新するには、[ 完了した実行] をクリックします。
グラフを更新して、過去 48 時間に正常に完了した実行のみを表示するには、[ 成功した実行] をクリックします。
スキップされた実行のみを表示するようにグラフを更新するには、[ スキップされた実行] をクリックします。 ワークスペース内の並列実行の最大数を超えたか、ジョブがジョブ構成で指定された並列実行の最大数を超えたため、実行はスキップされます。
エラー状態で完了した実行のみを表示するようにグラフを更新するには、[ 失敗した実行] をクリックします。
フィルター・ボタンのいずれかをクリックすると、実行テーブル内の実行リストも更新され、選択したステータスに一致するジョブ実行のみが表示されます。
[Finished run] 実行カウント グラフに表示される時間範囲を制限するには、グラフ内でカーソルをクリックしてドラッグし、時間範囲を選択します。グラフと実行テーブルが更新され、選択した時間範囲からの実行のみが表示されます。
上位 5 つのエラーの種類の表には、選択した時間範囲で最も頻繁に発生するエラーの種類の一覧が表示され、ワークスペース内のジョブの問題の最も一般的な原因をすばやく確認できます。
ジョブ実行リスト
ジョブ 実行タブには、過去 60 日間のジョブ実行のテーブルも含まれています。 デフォルトでは、このテーブルには、失敗したジョブ実行、スキップされたジョブ実行、成功したジョブ実行の詳細が含まれます。
リストに表示される実行のリストは、次の条件に基づいてフィルタリングできます。
ジョブ: 最大 3 つのジョブを選択し、これらのジョブの実行のみを表示します。
実行者: ID として最大 3 つの実行を選択し、これらのユーザーとして実行された実行のみを表示します。
時間枠: 開始日時と終了日時を選択して、この間隔で発生したジョブ実行に絞り込みます。
実行状態: アクティブ (現在実行中)、完了 (成功および失敗の実行を含む実行終了)、成功、失敗、およびスキップされた実行のみを表示するようにフィルター処理します。
エラーコード: エラーコードに基づいてリストをフィルタリングし、同じエラーコードで失敗したすべてのジョブを表示します。
デフォルト別では、実行テーブルの実行リストには次のように表示されます。
実行の開始時刻。
実行に関連付けられているジョブの名前。
ジョブを実行するユーザー名。
実行がジョブ・スケジュールまたは API 要求によってトリガーされたか、または手動で開始されたか。
現在実行中のジョブの経過時間、または完了した実行の合計実行時間。 期間が設定された 予定完了時間を超えると、警告が表示されます。
実行の状態 (キューに登録済み、保留中、実行中、スキップ、成功、失敗、タイムアウト、キャンセル中、またはキャンセル済み)。
実行が終了したエラー・コード。
実行のための任意のパラメーター。
実行中のジョブを停止するには、停止ボタンをクリックします。 ジョブのアクションにアクセスするには、 をクリックします (たとえば、アクティブな実行を停止したり、完了した実行を削除したりします)。
実行リストに表示される列を変更するには、 をクリックして 列を選択または選択解除します。
ジョブ実行の詳細を表示するには、実行の [開始時刻] 列のリンクをクリックします。ジョブの詳細を表示するには、 ジョブ 列のジョブ名をクリックします。
ジョブのリネージ情報の表示
Unity Catalogワークスペースで Unity Catalogが有効になっている場合は、ワークフロー内の任意の テーブルの リネージ情報 を表示できます。ワークフローでリネージ情報を使用できる場合は、ジョブ の [ジョブ詳細 ] パネル、ジョブ 実行の [ジョブ 実行詳細パネル] 、またはタスク実行の [タスク実行詳細 パネル] に、アップストリーム テーブルとダウンストリーム テーブルの数を示すリンクが表示されます。 リンクをクリックすると、テーブルのリストが表示されます。 テーブルをクリックすると、 カタログエクスプローラで詳細情報が表示されます。
Databricks アセットバンドルで作成されたジョブの表示と実行
Databricks ジョブ UI を使用して、 Databricks アセットバンドルによってデプロイされたジョブを表示および実行できます。 デフォルトでは、これらのジョブはジョブUIで読み取り専用です。 バンドルによってデプロイされたジョブを編集するには、バンドル構成ファイルを変更してジョブを再デプロイします。 バンドル設定にのみ変更を適用すると、バンドル・ソース・ファイルは常に現在のジョブ設定を取り込むようになります。
ただし、ジョブをすぐに変更する必要がある場合は、バンドル設定からジョブを切断して、UI でジョブ設定を編集できるようにすることができます。 ジョブを切断するには、[ ソースから切断] をクリックします。 「ソースから切断」ダイアログで、「切断」をクリックして確定します。
UI でジョブに加えた変更は、バンドル設定には適用されません。 UI で行った変更をバンドルに適用するには、バンドル設定を手動で更新する必要があります。 ジョブをバンドル構成に再接続するには、バンドルを使用してジョブを再デプロイします。
ジョブ実行結果のエクスポート
すべてのジョブ・タイプのノートブック実行結果とジョブ実行ログをエクスポートできます。
ノートブックの実行結果のエクスポート
ジョブの実行は、結果をエクスポートすることで保持できます。 ノートブック ジョブの実行では、レンダリングされたノートブックを エクスポート して、後で Databricks ワークスペース にインポート できます。
1 つのタスクを含むジョブのノートブック実行結果をエクスポートするには、次のようにします。
ジョブの詳細ページで、[Completed run (past 60 days)] (完了実行 (過去 60 日間)) テーブルの [実行] 列にある実行の [View Details] (詳細の表示) リンクをクリックします。
「 HTMLにエクスポート」をクリックします。
複数のタスクを持つジョブのノートブック実行結果をエクスポートするには:
ジョブの詳細ページで、[Completed run (past 60 days)] (完了実行 (過去 60 日間)) テーブルの [実行] 列にある実行の [View Details] (詳細の表示) リンクをクリックします。
エクスポートするノートブック タスクをクリックします。
「 HTMLにエクスポート」をクリックします。
ジョブ実行ログのエクスポート
ジョブ実行のログをエクスポートできます。 ジョブ コンピュートの設定DBFS S3( コンピュート設定リファレンス を参照) またはジョブ を使用して、ログを または に自動的に配信するようにジョブを設定できます。APIジョブ API の Create a new job 操作 (POST /jobs/create
) に渡される要求本文の new_cluster.cluster_log_conf
オブジェクトを参照してください。