このページでは、Databricks ノートブックの組み込みの対話型デバッガーを使用する方法について説明します。 このデバッガーは Python でのみ使用できます。
この対話型デバッガーには、ブレークポイント、ステップバイステップ実行、変数検査などのツールが備わっており、ノートブック内のコードをより効率的に開発するのに役立ちます。
要件
デバッガーにアクセスするには、ノートブックが次のいずれかのコンピューティング リソースに接続されている必要があります。
- サーバーレス コンピューティング
- Databricks Runtime 14.3 LTS 以降で アクセス モード が Standard (以前の共有) に設定されたコンピューティング
- Databricks Runtime 13.3 LTS 以降で アクセス モード を Dedicated (以前のシングル ユーザー) に設定したコンピューティング
- Databricks Runtime 13.3 LTS 以降で アクセスモード が 分離なし共有 に設定された状態で計算を行う
デバッガーの有効化
デバッガーを有効にするには、次の手順に従います。
- ワークスペースの右上にあるユーザー名をクリックし、ドロップダウン リストから [設定] を選択します。
- [設定] サイドバーで、[Developer] を選択します。
- [ エディターの設定 ] セクションで、 Python Notebook 対話型デバッガーを切り替えます。
デバッグを開始する
デバッガーを起動するには、次のステップに従います。
セルの余白をクリックし、1 つ以上のブレークポイントを追加します。 ブレークポイントを削除するには、再度クリックします。
次のいずれかのオプションを使用し、デバッグ セッションを開始します。
- [実行] > [セルのデバッグ] の順にクリックします。
- キーボード ショートカット Option + Shift + D キーを使用します。
- セルの実行メニューで、[セルのデバッグ] を選択します。
デバッグ セッションは自動的に始まり、選択したセルを実行します。
セルでエラーがトリガーされた場合にもデバッガーを自動的に開始できます。 セルの出力の下部で、
をクリックします。
デバッグ セッションがアクティブな場合、デバッグ ツールバー
がセルの上部に表示されます。
デバッグのアクション
デバッグ セッションで、次のことを実行できます。
- ブレークポイントを設定または削除する。
- ブレークポイントの変数の値を表示する。
- コードをステップ実行する。
- 関数にステップ インまたは関数からステップ アウトする。
- デバッガーが停止している行を見つけます。
コードがブレークポイントに達すると、行が実行される前 (後ではなく) に停止します。
デバッガー ツールバーのボタンを使用してコードをステップ実行します。 コードをステップ実行すると、現在の行がセルで強調表示されます。 変数値は、右サイド バーの変数エクスプローラー ペインで確認できます。
関数をステップ実行すると、ローカル関数の変数が変数ペインに表示され、[local] とマークされます。
ワークスペース ファイルにステップ インする
ノートブックとファイルのタブを有効にすると、ブレークポイントを設定し、他のワークスペース ファイルで定義されている関数にステップ インできます。 関数にステップ インするには、アイコン矢印 のステップをクリックします。 関数が別のワークスペース ファイルで定義されている場合、デバッガーはそのファイルを新しいタブで開きます。
Note
- デバッガーは、ワークスペース内のファイルで定義されている関数にのみステップ インできます。 Python ライブラリやその他のノートブックへのステップインはまだサポートされていません。
- インポート後に外部ファイルを編集した場合、ノートブック セッションでモジュールの古いバージョンが引き続き使用される可能性があります。 インポートされたモジュールの編集がデバッグ中に確実に有効になるようにするには、Databricks Runtime 18.0 以降またはサーバーレス コンピューティング環境バージョン 4 以降の Python モジュールの自動再読み込みを 使用します。
デバッグ コンソール
デバッグ セッションを開始すると、デバッグ コンソールが自動的に下部パネルに表示されます。 このコンソールを使用すると、ブレークポイントで一時停止した際に、Python コードを実行して変数を検査または操作できます。 メイン ノートブックで実行されたコードは、デバッグ セッション中に実行されません。 コンソールでコードを実行するには、Enter キーを押します。 複数行式の場合は、Shift + Enter キーを使用して新しい行に移動します。
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 アシスタントです。 詳細については、ノートブック の Assistant コマンドショートカットを参照してください。
制限事項
詳細については、「Databricks ノートブックの既知の制限事項」を参照してください。