ノートブックのデバッグ
重要
この機能はパブリック プレビュー段階にあります。
このページでは、Databricks ノートブックの組み込みの対話型デバッガーを使用する方法について説明します。 このデバッガーは Python でのみ使用できます。
この対話型デバッガーには、ブレークポイント、ステップバイステップ実行、変数検査などのツールが備わっており、ノートブック内のコードをより効率的に開発するのに役立ちます。
要件
ノートブックは、次の要件を満たすクラスターにアタッチする必要があります。
- Databricks Runtime バージョン 13.3 LTS 以降。
- アクセス モードは、単一ユーザー (割り当て済み) または分離なし共有である必要があります。
デバッガーの有効化
次の手順に従って、デバッガーを有効にします。
- ワークスペースの右上にあるユーザー名をクリックし、ドロップダウン リストから [設定] を選択します。
- [設定] サイドバーで、[Developer] を選択します。
- [実験的な機能] セクションで、[Python ノートブック対話型デバッガー] をオンにします。
デバッグを開始する
デバッガーを起動するには、次のステップに従います。
セルの余白をクリックし、1 つ以上のブレークポイントを追加します。 ブレークポイントを削除するには、再度クリックします。
次のいずれかのオプションを使用し、デバッグ セッションを開始します。
- [実行] > [セルのデバッグ] の順にクリックします。
- キーボード ショートカット Option + Shift + D キーを使用します。
- セルの実行メニューで、[セルのデバッグ] を選択します。
デバッグ セッションは自動的に始まり、選択したセルを実行します。
セルでエラーがトリガーされた場合にもデバッガーを自動的に開始できます。 セルの出力の下部で、 をクリックします。
デバッグ セッションがアクティブな場合、デバッグ ツールバー がセルの上部に表示されます。
デバッグのアクション
デバッグ セッションで、次のことを実行できます。
- ブレークポイントを設定または削除する。
- ブレークポイントの変数の値を表示する。
- コードをステップ実行する。
- 関数にステップ インまたは関数からステップ アウトする。
コードがブレークポイントに達すると、行が実行される前 (後ではなく) に停止します。
デバッガー ツールバーのボタンを使用してコードをステップ実行します。 コードをステップ実行すると、現在の行がセルで強調表示されます。 変数値は、右サイド バーの変数エクスプローラー ペインで確認できます。
関数をステップ実行すると、ローカル関数の変数が変数ペインに表示され、[local]
とマークされます。
デバッグ コンソール
デバッグ セッションを開始すると、デバッグ コンソールが自動的に下部パネルに表示されます。 このコンソールを使用すると、ブレークポイントで一時停止した際に、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 アシスタントです。 詳細については、「ノートブック セル で Databricks Assistant の使用」を参照してください。
制限事項
詳細については、「Databricks ノートブックの既知の制限事項」を参照してください。