Lakeflow ジョブの監視

Azure Databricks UI を使用すると、アクセスできるジョブの表示、各ジョブの実行履歴の参照、個々のジョブ実行の詳細の検査を行うことができます。 ジョブの通知を構成するには、「ジョブに通知を追加する」を参照してください。

Databricks CLI を使用してジョブを表示し、ジョブを実行する方法について学習するには、CLI コマンド databricks jobs list -hdatabricks jobs get -h、および databricks jobs run-now -hを実行します。 Jobs API の使用方法については、「Jobs API」をご覧ください。

system.lakeflow スキーマにアクセスできる場合は、アカウント全体からジョブの実行とタスクのレコードを表示およびクエリすることもできます。 「ジョブ システム テーブル リファレンス」を参照してください。 また、ジョブ システム テーブルを課金テーブルと結合して、アカウント全体のジョブのコストを監視することもできます。 「システム テーブルを使用してジョブのコストと & パフォーマンスを監視する」を参照してください。

ジョブとパイプラインを表示する

アクセスできるジョブの一覧を表示するには、[ワークフロー] アイコンをクリックします。サイドバーのジョブとパイプライン。 [Lakeflow ジョブ] UI の [ ジョブとパイプライン ] タブには、作成者、トリガー (存在する場合)、最後の 5 回の実行の結果など、使用可能なすべてのジョブとパイプラインに関する情報が一覧表示されます。

リストに表示される列を変更するには、[ 列の設定] アイコン をクリックし、列を選択または選択解除します。

重要

統合ジョブ とパイプラインの 一覧は パブリック プレビュー段階ですジョブとパイプライン (統合管理、検索、フィルター処理) を無効にすることで、この機能を無効にし、既定のエクスペリエンスに戻ることができます。 詳細については、「 Azure Databricks プレビューの管理 」を参照してください。

次のスクリーンショットに示すように、 ジョブとパイプラインの 一覧でジョブをフィルター処理できます。

吹き出しが付いたジョブ リスト ビュー。

  1. テキスト検索: [名前 ] フィールドと [ ジョブ ID ] フィールドでキーワード検索がサポートされています。 キーと値で作成されたタグを検索するには、キー、値、またはキーと値の両方で検索できます。 たとえば、キー department と値 finance を持つタグの場合、department または finance を検索して一致するジョブを見つけることができます。 キーと値で検索するには、キーと値をコロンで区切って入力します (例: department:finance)。
  2. 種類: ジョブのみ、パイプライン、またはすべてを選択します。
  3. 所有者: 自分が所有するジョブやパイプラインのみを選択してください。
  4. お気に入り: お気に入りとしてマークしたすべてのジョブまたはパイプラインを選択します。
  5. タグ: タグを使用します。 タグで検索するには、[タグ] ドロップダウン メニューを使用して、最大 5 つのタグを同時にフィルター処理するか、キーワード検索を直接使用します。
  6. 実行方法: 最大 2 つの run as 値でフィルター処理します。

ジョブまたはパイプラインを開始するには、再生アイコンの再生ボタンをクリックします。 ワークフローを停止するには、[ 停止] アイコン の停止ボタンをクリックします。 その他のアクションにアクセスするには、Kebab メニューの [Kebab] メニュー アイコンをクリックします。 たとえば、このメニューからパイプラインのワークフローまたはアクセス設定を削除できます。

すべてのジョブとパイプラインの最近の実行を表示する

Apache エアフローやAzure Data Factoryなどの外部オーケストレーション ツールによって開始された実行を含め、ワークスペース内のすべてのジョブとパイプラインの実行と最近完了した実行の一覧を表示できます。 最近の実行の一覧を表示するには:

  1. [ワークフロー] アイコンをクリックします。サイドバーのジョブとパイプライン
  2. [ 実行 ] タブをクリックして、完了した実行数グラフと、ジョブとパイプラインの実行の一覧を表示します。
  3. (省略可能)[ ジョブ ] または [ パイプライン ] をクリックして、種類で一覧をフィルター処理します。

統合実行の一覧。

実行の一覧には、上部のフィルターオプション、最近完了した実行と上位 5 つのエラーの グラフ 、最近完了した実行の 一覧 が含まれます。

次のようにフィルターできます:

  • ジョブまたはパイプラインの名前
  • AllJobs、または Pipelines
  • パイプラインの種類 (ETL、インジェスト、MV/ST、またはデータベース テーブル同期)。
  • ユーザーとして実行します。
  • 特定の実行を検索するには、実行 ID を使用します。
  • 実行 開始時刻 (過去 48 時間以内)。
  • [実行] の状態
  • 失敗した実行の エラー コード

フィルターは、グラフ、エラー コード、および実行の一覧に適用されます。

ジョブ API runs/submit エンドポイントを介して送信された実行 (Apache エアフロー DatabricksSubmitRunOperatorからの実行を含む) は、保存されたジョブによってサポートされない 1 回限りの実行です。 これらの実行にはジョブが関連付けられていないため、ジョブ をフィルター処理しても見つかりません。 代わりに、実行 ID実行ユーザー、または 開始時刻で絞り込めます。 名前検索に表示され、再試行をサポートする永続的なジョブを作成するには、ジョブを作成してから、runs/submitを使用せずに実行します。

完了した実行数グラフ

[完了した実行数] グラフには、過去 48 時間以内に完了した実行の数が表示されます。 既定では、グラフには失敗、スキップ、および成功した実行が表示されます。 グラフをフィルター処理して特定の実行の状態を表示したり、グラフを特定の時間範囲に制限したりすることもできます。

ジョブが完了した作業回数グラフ。

[完了した実行数] グラフは、ジョブまたはパイプラインにフィルターを適用した場合にのみ表示されます。 [すべて] が選択されている場合は表示されません。 グラフは、すべての実行の管理者向けに表示されます。 管理者でない場合は、別のユーザーとして実行 をクリックして 自分自身 を選択する必要があります。

[ 実行 ] タブの上部にあるフィルターがグラフに適用されます。

完了した実行数グラフに表示される時間範囲を制限するには、フィルターで時間範囲を定義します。 または、グラフ内のカーソルをクリックしてドラッグして、時間範囲を選択することもできます。 グラフと実行テーブルが更新され、定義された時間範囲からのみ実行が表示されます。

[上位 5 つのエラーの種類] テーブルには、選択した時間範囲で最も頻繁に発生するエラーの種類の一覧が表示され、ワークスペースの問題の最も一般的な原因をすばやく確認できます。

実行リスト

[ 実行 ] タブには、過去 60 日間のジョブとパイプラインの実行のテーブルも含まれています。 Azure Databricksでは、ジョブとパイプラインの両方の実行履歴が 60 日間保持されます。 既定では、テーブルには、失敗、スキップ、および成功した実行の詳細が含まれます。

実行一覧。

[ 実行 ] タブの上部にあるフィルターが一覧に適用されます。

既定では、runs テーブル内の実行の一覧には次の情報が表示されます。

  • 実行の開始時刻。
  • 実行に関連付けられているジョブまたはパイプラインの名前。
  • 実行の種類 (ジョブ または パイプライン)。
  • 実行するユーザー名。
  • 実行をトリガーした内容 (起動済み): スケジュール、API 要求、または手動開始。
  • 実行中のジョブまたはパイプラインの経過時間、または完了した実行の合計実行時間。 期間が構成された 予想完了時間を超えると、UI に警告が表示されます。
  • 実行の状態: キュー済み保留中実行中スキップ成功一部失敗で成功失敗タイムアウトキャンセル中、またはキャンセル済み
  • 実行が終了したエラー コード。
  • 実行に関する任意のパラメーター。
  • 実行中のジョブまたはパイプラインを停止するには、停止ボタンをクリックします。 実行のアクションを開くには、 Kebab メニュー アイコン をクリックします (たとえば、アクティブな実行を停止したり、完了した実行を削除したりします)。

実行リストに表示される列を変更するには、[列] アイコン をクリックし、列を選択またはクリアします。

[ジョブの実行の詳細] を表示するには、実行の [開始時刻] 列のリンクをクリックします。 ジョブまたはパイプラインの詳細を表示するには、[ ジョブ ] 列の名前をクリックします。

ビューは 1 つのジョブに対して実行されます

Apache Flow や Azure Data Factory などの外部オーケストレーション ツールによって開始された実行など、アクセスできるジョブの現在実行中の実行と最近完了した実行の一覧を表示できます。 最近のジョブの実行の一覧を表示するには、次の操作を行います。

  1. Azure Databricks ワークスペースのサイドバーで、ジョブ & パイプライン をクリックします。

  2. 必要に応じて、ジョブ私が所有 フィルターを選択します。

  3. ジョブの [名前] リンクをクリックします。

    アクティブな実行と完了した実行のマトリックス ビューとリスト ビューを含む [実行] タブが表示されます。

マトリックス ビューにジョブの実行履歴 (ジョブの各タスクを含む) が表示されます。

ジョブ マトリックス ビュー。

マトリックスの [ 実行合計期間 ] 行には、実行の合計期間と実行の状態が表示されます。 開始時刻、期間、状態などの実行の詳細を表示するには、 [実行合計時間] 行のバーにカーソルを合わせます。

[タスク] 行の各セルは、タスクとそのタスクの対応する状態を表します。 開始時刻、期間、クラスター、状態などの各タスクの詳細を表示するには、そのタスクのセルにカーソルを合わせます。

ジョブの実行およびタスクの実行のバーは、実行の状態を示すために色分けされています。 成功した実行は緑色です。 失敗した実行は赤色、スキップされた実行はピンク色、再試行を待機している実行は黄色です。 保留中、取り消し済み、またはタイムアウトは灰色です。 個々のジョブ実行バーとタスク実行バーの高さは、実行時間を視覚的に示します。

予想完了時間を構成した場合、実行時間が構成した時間を超えると、マトリックス ビューに警告が表示されます。

既定では、実行リスト ビューには次の情報が表示されます。

  • 実行の開始時刻。
  • 実行識別子。 実行 URL を検索して共有する方法については、 ジョブ実行 URL と ID を参照してください。
  • 実行が、ジョブ スケジュールまたは API 要求によってトリガーされたか、手動で開始されたか。
  • 現在実行中のジョブの経過時間または完了した実行の合計実行時間。 時間が構成した 予想完了時間を超えると、警告が表示されます。
  • 実行のステータスは、キュー済み保留中実行中スキップ成功一部失敗ありで成功失敗タイムアウトキャンセル中、または キャンセル済み のいずれかです。
  • 実行が終了したエラー コード。
  • 実行パラメーター。

現在アクティブな実行では、停止ボタンが表示されます。 アクティブな実行とキューに置かれたすべての実行を停止するには、[実行 キャンセル] を選択するか、ドロップダウン メニューから [キューに置かれたすべての実行 を取り消す] を します。

実行のコンテキスト固有のアクションにアクセスするには、kebab メニュー の Kebab メニュー アイコン をクリックします (たとえば、アクティブな実行を停止したり、完了した実行を削除したりします)。

実行リスト ビューに表示される列を変更するには、 Settings icon をクリックして、列を選択または選択解除します。

ジョブ実行の詳細を表示するには、実行リスト ビューの [開始時刻] 列にある実行のリンクをクリックします。 このジョブの最新の成功した実行の詳細を表示するには、[ 最新の成功した実行に移動] をクリックします。

Azure Databricks でジョブの実行履歴が保持されるのは、最大 60 日間です。 ジョブの実行を保持する必要がある場合、Databricks は、有効期限が切れる前に結果をエクスポートすることを推奨しています。 詳細については、「ジョブ実行結果をエクスポートする」を参照してください。

ジョブ実行の詳細を表示する

[ジョブの実行の詳細] ページには、ジョブ出力とログへのリンクが表示されます。これには、ジョブの実行内の各タスクの成功または失敗に関する情報が含まれます。 ジョブの [実行] タブからジョブ実行の詳細にアクセスできます。

[実行] タブからジョブの実行詳細を表示するには、実行一覧ビューの [開始時刻] 列にある該当実行のリンクをクリックします。 ジョブの [実行] タブに戻るには、 [ジョブ ID] の値をクリックします。

複数のタスクを含むジョブには、さらにグラフ、タイムライン、リスト ビューがあります。

グラフ ビュー

グラフ内のタスク ノードをクリックすると、次のようなタスク実行の詳細が表示されます。

  • 実行名、ジョブの起動方法、開始時刻、終了時刻、期間、状態などのタスクの詳細。
  • ソース コード。
  • タスクを実行したクラスターと、そのクエリ履歴とログにリンクします。
  • タスクのメトリック。

ジョブ グラフ ビュー。

タイムライン表示

複数のタスクを含むジョブには、完了に時間がかかっているタスクを特定し、依存関係と重複を理解して、これらのジョブをデバッグおよび最適化するためのタイムライン ビューがあります。

ジョブのタイムライン ビュー。

サーバーレス ジョブの場合、クエリと クエリ プロファイル はタイムライン ビューに統合されます。 タスク名の横にある矢印をクリックしてクエリ ステートメントとその期間を表示し、ステートメントをクリックして対応するクエリ プロファイルに移動します。 ジョブの実行については、「クエリの詳細を表示する」を参照してください。

リスト ビュー

既定では、リスト ビューには状態、名前、種類、リソース、期間、依存関係が表示されます。 このビューでは、列を追加および削除できます。

タスクを名前で検索し、タスクの状態またはタスクの種類でフィルター処理し、タスクを状態、名前、または期間で並べ替えることができます。

[ジョブ ID] の値をクリックして、ジョブの [実行] タブに戻ります。

ジョブリストビュー

実行に費やされた時間と、それを減らすために何ができるかを確認するには、フェーズの内訳を表示します。 「フェーズ別に実行の内訳を表示する」を参照してください。

Azure Databricks がジョブ実行ステータスを判定する方法

Azure Databricks は、ジョブの リーフ タスクの結果に基づいて、ジョブの実行が成功したかどうかを判断します。 リーフ タスクは、ダウンストリームの依存関係を持たないタスクです。 ジョブの実行結果は、以下のいずれかになります:

  • 成功: すべてのタスクが成功した。
  • 成功したが失敗がある: 一部のタスクが失敗したが、すべてのリーフ タスクは成功した。
  • 失敗: 1 つ以上のリーフ タスクが失敗した。
  • スキップ済み: ジョブの実行がスキップされました (たとえば、ジョブまたはワークスペースの最大同時実行数を超えるとタスクはスキップされることがあります)。
  • タイムアウト: ジョブの実行に時間がかかりすぎて完了できず、タイムアウトしました。
  • キャンセル済み: ジョブの実行が取り消されました (たとえば、ユーザーが実行中の実行を手動で取り消した場合など)。

個々のタスクは、ジョブ設定で明示的に無効にした場合や、アップストリーム タスクが無効になっているために Lakeflow ジョブが実行に対して無効にした場合に、 Disabled 状態で終了することもできます。 無効化されたタスクは、DAG の右上隅に 大きな円のアイコン。 と表示されます。 「Lakeflow ジョブの無効なタスク」を参照してください。

ジョブのパフォーマンス メトリックを表示する

ストリーミング タスク メトリックとサーバーレス クエリ パフォーマンス メトリックは、他のジョブ パフォーマンス ツールと共に文書化されています。 Lakeflow ジョブのパフォーマンスの診断を参照してください。

タスクの実行履歴を表示する

タスクの実行履歴 (成功した実行と失敗した実行を含む) を表示するには、次の操作を行います。

  1. [ジョブ実行の詳細] ページでタスクをクリックします。 [タスクの実行の詳細] ページが表示されます。
  2. [実行履歴] ドロップダウン メニューでタスクの実行を選択します。

For each タスクのタスク実行履歴を表示する

For each タスクの実行履歴へのアクセスは、標準の Lakeflow ジョブ タスクの場合と同じです。 For each ページの タスクノード、またはマトリックスビュー内の対応するセルをクリックできます。 ただし、標準タスクとは異なり、 For each タスクの実行の詳細は、入れ子になったタスクのイテレーションのテーブルとして表示されます。

失敗したイテレーションのみを表示するには、 [失敗したイテレーションのみ]をクリックします。

イテレーションの出力を表示するには、イテレーションの 開始時刻 または 終了時刻 の値をクリックします。

各タスクの実行履歴を表示するジョブ。

ジョブの系列情報を表示する

ワークスペースで Unity Catalog が有効になっている場合は、ワークフロー内の任意の Unity Catalog テーブルに関する 系列情報 を表示できます。 ワークフローで系列情報を使用できる場合は、ジョブの [ジョブの詳細 ] ウィンドウ、ジョブ実行の [ ジョブ実行の詳細 ] ウィンドウ、またはタスク実行の [タスク 実行の詳細] ウィンドウに、上流テーブルとダウンストリーム テーブルの数を含むリンクが表示されます。 このリンクをクリックすると、テーブルの一覧が表示されます。 テーブルをクリックすると、 Catalog Explorerに詳細情報が表示されます。

宣言型オートメーション バンドルを使用して作成されたジョブを表示して実行する

Lakeflow ジョブ UI を使用して、 宣言型オートメーション バンドルによってデプロイされたジョブを表示および実行できます。 既定では、これらのジョブはジョブ UI では読み取り専用です。 バンドルによってデプロイされたジョブを編集するには、バンドル構成ファイルを変更し、ジョブを再デプロイします。 バンドル構成にのみ変更を適用すると、バンドル ソース ファイルで常に現在のジョブ構成がキャプチャされます。

ただし、ジョブをすぐに変更する必要がある場合は、ジョブをバンドル構成から切断して、UI でジョブ設定の編集を有効にすることができます。 ジョブを切断するには、 [Disconnect from source]\(ソースから切断\)をクリックします。 [Disconnect from source]\(ソースから切断\) ダイアログで、 [切断] をクリックして確定します。

UI でジョブに加えた変更は、バンドル構成には適用されません。 UI で行った変更をバンドルに適用するには、バンドル構成を手動で更新する必要があります。 ジョブをバンドル構成に再接続するには、バンドルを使用してジョブを再デプロイします。

ジョブ実行結果をエクスポートする

すべてのジョブの種類について、ノートブックの実行結果とジョブ実行ログをエクスポートできます。

ノートブックの実行結果のエクスポート

ジョブの実行を保持するには、その結果をエクスポートします。 ノートブック ジョブの実行では、レンダリングされたノートブックをエクスポートして、後で Azure Databricks ワークスペースにインポートできます。

1 つのタスクを含むジョブに対してノートブックの実行結果をエクスポートするには:

  1. [ジョブの詳細] ページで、[完了した実行 (過去 60 日)] テーブルの [実行] 列にある実行の [詳細の表示] リンクをクリックします。
  2. [HTML にエクスポート] をクリックします。

複数のタスクを含むジョブに対してノートブックの実行結果をエクスポートするには:

  1. [ジョブの詳細] ページで、[完了した実行 (過去 60 日)] テーブルの [実行] 列にある実行の [詳細の表示] リンクをクリックします。
  2. エクスポートするノートブック タスクをクリックします。
  3. [HTML にエクスポート] をクリックします。

実行をHTMLにエクスポートすると、ノートブックのソースとセル出力が静的ファイルとしてキャプチャされます。 対象となるサーバーレスのコンピュートノートブック実行では、その実行のPython変数とSparkセッションを新しいインタラクティブノートブックに復旧し、ジョブを再実行せずにデバッグや探索を行うことができます。 サーバーレスジョブについてはセッション復元を参照してください。

ジョブ実行ログをエクスポートする

ジョブ実行のログをエクスポートすることもできます。 ジョブのコンピュートを構成する際に、ログを DBFS に自動的に配信するようにジョブを設定できます(コンピューティング構成のリファレンスを参照)、または、ジョブ API を使って設定することもできます。 Jobs API のnew_cluster.cluster_log_conf操作 () に渡される要求本文の POST /jobs/create オブジェクトを参照してください。