ノートブックでデバッグする
プレビュー
この機能はパブリックプレビュー段階です。
このページでは、Databricks ノートブックの組み込み対話型デバッガーの使用方法について説明します。 デバッガーは Python でのみ使用できます。
対話型デバッガーは、ブレークポイント、ステップバイステップの実行、変数検査など、ノートブックでコードをより効率的に開発するのに役立つツールを提供します。
要件
ノートブックは、次の要件を満たすクラスターに接続する必要があります。
Databricks Runtimeバージョン 13.3 LTS 以降。
アクセス モードは、 シングル ユーザー (割り当て済み) または [ 分離共有なし] である必要があります。
デバッグを開始する
デバッガーを開始するには、次のステップに従います。
1 つ以上のブレークポイントを追加するには、セルの余白をクリックします。 ブレークポイントを削除するには、ブレークポイントをもう一度クリックします。
デバッグ セッションを開始するには、次のいずれかのオプションを使用します。
[実行] > [セルのデバッグ]をクリックします。
キーボードショートカットの Option + Shift + Dを使用します。
セル実行メニューから、 「セルのデバッグ」を選択します。
デバッグ セッションが自動的に開始され、選択したセルが実行されます。
また、セルがエラーをトリガーした場合にデバッガを起動することもできます。 セル出力の下部で、 をクリックします 。
デバッグ・セッションがアクティブになると、セルの上部にデバッグ・ツールバー が表示されます。
デバッグ・アクション
デバッグセッションでは、次の操作を実行できます。
ブレークポイントを設定または削除します。
ブレークポイントで変数の値を表示します。
コードをステップ実行します。
関数にステップインまたは関数からステップアウトします。
コードがブレークポイントに到達すると、行の実行後ではなく、実行前に停止します。
デバッガ ツールバーのボタンを使用して、コードをステップ実行します。 コードをステップ実行すると、セル内の現在の行が強調表示されます。 変数値は、右側のサイドバーの変数エクスプローラーペインで確認できます。
関数をステップ実行すると、変数ペインにローカル関数変数が表示され、 [local]
とマークされます。
デバッグコンソール
デバッグ セッションを開始すると、デバッグ コンソールが下部のパネルに自動的に表示されます。 このコンソールを使用すると、ブレークポイントで停止したときにPythonコードを実行して変数を検査または操作できます。 メインノートブックで実行されるコードは、デバッグ セッション中は実行されません。 コンソールでコードを実行するには、 Enterキーを押します。 複数行の式の場合は、 Shift + Enter キーを使用して新しい行に移動します。
注:
デバッグ コンソールは、迅速な評価を行い、コードの実行が 15 秒を超えるとタイムアウトするように設計されています。
display
コマンドはデバッグ コンソールではサポートされていません。 DataFrame からサンプル データを表示するには、PySpark DataFrames の場合はdf.show()
、Pandas DataFrames の場合はdf.head()
使用します。
変数エクスプローラー
右側にある変数エクスプローラーパネル を使用して、変数の値を表示できます。 [Inspect] をクリックすると、デバッグ コンソールでコードが自動的に実行され、変数の値が出力されます。
表示内容をフィルタリングするには、検索ボックスにテキストを入力します。入力すると、リストが自動的にフィルタリングされます。
Databricks Runtime 12.2 LTS 以降の Python の場合、セルが実行されると変数が更新されます。 Databricks Runtime 11.3 LTS 以前の Scala、R、Python の場合、変数はセルの実行が完了した後に更新されます。
デバッガセッションを終了する
デバッグセッションを終了するには、セルの左上にあるノートブックの上部にあります。 ユーザーがデバッグ ツールバーまたはデバッグ コンソールを使用しない場合、デバッグ セッションは 30 分後に自動的に終了します。
Databricks Assistantを使用したデバッグ
Databricks Assistant は、コードのデバッグに役立つコンテキスト認識型 AI アシスタントです。 詳細については、「 ノートブックのセルで Databricks Assistant を使用する 」を参照してください。
制限事項
詳細については、 「Databricks既知の制限事項」を参照してください。