ノートブックのデバッグ

重要

この機能はパブリック プレビュー段階にあります。

このページでは、Databricks ノートブックの組み込みの対話型デバッガーを使用する方法について説明します。 このデバッガーは Python でのみ使用できます。

この対話型デバッガーには、ブレークポイント、ステップバイステップ実行、変数検査などのツールが備わっており、ノートブック内のコードをより効率的に開発するのに役立ちます。

要件

ノートブックは、次の要件を満たすクラスターにアタッチする必要があります。

  • Databricks Runtime バージョン 13.3 LTS 以降。
  • アクセス モードは、単一ユーザー (割り当て済み) または分離なし共有である必要があります。

デバッガーの有効化

次の手順に従って、デバッガーを有効にします。

  1. ワークスペースの右上にあるユーザー名をクリックし、ドロップダウン リストから [設定] を選択します。
  2. [設定] サイドバーで、[Developer] を選択します。
  3. [実験的な機能] セクションで、[Python ノートブック対話型デバッガー] をオンにします。

デバッグを開始する

デバッガーを起動するには、次のステップに従います。

  1. セルの余白をクリックし、1 つ以上のブレークポイントを追加します。 ブレークポイントを削除するには、再度クリックします。

    ブレークポイントの作成と削除に関するビデオ

  2. 次のいずれかのオプションを使用し、デバッグ セッションを開始します。

    • [実行] > [セルのデバッグ] の順にクリックします。
    • キーボード ショートカット Option + Shift + D キーを使用します。
    • セルの実行メニューで、[セルのデバッグ] を選択します。

    セル実行メニューのセル項目をデバッグする

デバッグ セッションは自動的に始まり、選択したセルを実行します。

セルでエラーがトリガーされた場合にもデバッガーを自動的に開始できます。 セルの出力の下部で、デバッグ ボタン をクリックします。

デバッグ セッションがアクティブな場合、デバッグ ツールバー [デバッグ] ツールバー がセルの上部に表示されます。

デバッグのアクション

注釈付きデバッガー ツール バー

デバッグ セッションで、次のことを実行できます。

  • ブレークポイントを設定または削除する。
  • ブレークポイントの変数の値を表示する。
  • コードをステップ実行する。
  • 関数にステップ インまたは関数からステップ アウトする。

コードがブレークポイントに達すると、行が実行される前 (後ではなく) に停止します。

デバッガー ツールバーのボタンを使用してコードをステップ実行します。 コードをステップ実行すると、現在の行がセルで強調表示されます。 変数値は、右サイド バーの変数エクスプローラー ペインで確認できます。

関数をステップ実行すると、ローカル関数の変数が変数ペインに表示され、[local] とマークされます。

デバッグ コンソール

デバッグ セッションを開始すると、デバッグ コンソールが自動的に下部パネルに表示されます。 このコンソールを使用すると、ブレークポイントで一時停止した際に、Python コードを実行して変数を検査または操作できます。 メイン ノートブックで実行されたコードは、デバッグ セッション中に実行されません。 コンソールでコードを実行するには、Enter キーを押します。 複数行式の場合は、Shift + Enter キーを使用して新しい行に移動します。

debug_console

Note

  • デバッグ コンソールは、コードの実行が 15 秒を超えた場合に迅速に評価され、タイムアウトするように設計されています。
  • display コマンドは、デバッグ コンソールではサポートされていません。 DataFrame からサンプル データを表示するには、PySpark DataFrames の df.show() または Pandas DataFrames の df.head() を使用します。

変数エクスプローラー

右側の変数エクスプローラー パネル変数エクスプローラー アイコンを使用して、変数の値を表示できます。 [Inspect] (検査) をクリックすると、デバッグ コンソールでコードが自動的に実行され、変数の値が出力されます。

変数エクスプローラー パネルの例

表示をフィルター処理するには、検索ボックスにテキストを入力します。 入力すると、自動的に一覧がフィルター処理されます。

Databricks Runtime 12.2 LTS 以降の Python の場合、変数はセルが実行されると更新されます。 Databricks Runtime 11.3 LTS 以下の Python の Scala、R、Python の場合、セルの実行が完了すると変数が更新されます。

デバッガー セッションを終了する

デバッガー セッションを終了するには、セルの左上にある デバッガーの停止ボタン をクリックするか、ノートブックの上部にある ノートブックの停止ボタン をクリックします。 また、ユーザーがデバッグ ツールバーまたはデバッグ コンソールを使用していない場合、デバッグ セッションは 30 分後に自動的に終了します。

Databricks Assistant でデバッグ

Databricks Assistant は、コードのデバッグに役立つコンテキスト対応の AI アシスタントです。 詳細については、「ノートブック セル で Databricks Assistant の使用」を参照してください。

制限事項

詳細については、「Databricks ノートブックの既知の制限事項」を参照してください。