Visual Studio Code Databricks Connect 統合用の Databricks 拡張機能を使用すると、ノートブックを 1 セルずつ、またはすべてのセルで実行およびデバッグし、その結果を Visual Studio Code UI で確認できます。 すべてのコードはローカル環境で実行されますが、DataFrame 操作を含むコードはすべて、リモートの Azure Databricks ワークスペース内のクラスターで実行され、実行の応答がローカル環境の呼び出し元に返送されます。 すべてのコードはローカル環境でデバッグされますが、Spark のすべてのコードはリモートの Azure Databricks ワークスペース内のクラスターで引き続き実行されます。 コア Spark エンジン コードをクライアントから直接デバッグすることはできません。
注
この機能は、Databricks Runtime 13.3 以降で動作します。
Visual Studio Code 用の Databricks 拡張機能でノートブック用の Databricks Connect をインストールするには、Visual Studio Code 用の Databricks 拡張機能で Databricks Connect 統合を有効にする必要があります。 Visual Studio Code 用 Databricks 拡張機能の Databricks Connect を使用したコードのデバッグに関するページを参照してください。
Python ノートブック のセルの実行
.py
拡張機能を持つファイル名のノートブックの場合、Visual Studio Code IDE でノートブックを開くと、各セルに [セルの実行] ボタン、[上記の実行] ボタン、[セルのデバッグ] ボタンが表示されます。 セルを実行すると、その結果が IDE の別のタブに表示されます。 デバッグすると、デバッグ中のセルに[続行] ボタン、[停止] ボタン、[ステップ オーバー] ボタンが表示されます。 セルをデバッグするときに、変数の状態の監視、呼び出し履歴とデバッグ コンソールの表示などの Visual Studio Code デバッグ機能を使用できます。
.ipynb
拡張機能を持つファイル名を含むノートブックの場合、Visual Studio Code IDE でノートブックを開くと、ノートブックとそのセルに追加機能が表示されます。
[セルの実行] と [ノートブック エディターでコード セルを操作する] を参照してください。
.py
および.ipynb
拡張子を持つファイル名のノートブック形式の詳細については、「Databricks ノートブックのインポートとエクスポート」を参照してください。
Python Jupyter noteboook セルの実行
Python Jupyter ノートブック (.ipynb
) を実行またはデバッグするには、次のようにします。
プロジェクトで、実行またはデバッグする Python Jupyter ノートブックを開きます。 Python ファイルが Jupyter ノートブック形式で、拡張子が
.ipynb
であることを確認してください。ヒント
> 内から [Create: New Jupyter Notebook] (作成: 新しいJupyter ノートブック) コマンドを実行すると、新しい Python Jupyter ノートブックを作成できます。
すべてのセルをデバッグなしで実行するには、Run All Cells (すべてのセルを実行) をクリックし、対応する個々のセルをデバッグなしで実行するには セルの実行 をクリックし、Jupyter パネル () に可変値を表示した状態で限定されたデバッグを行いながら個々のセルを 1 行ずつ実行するには、> をクリックします。
個々のセル内で完全なデバッグを行うには、ブレークポイントを設定し、セルの [実行] ボタンの横にあるメニューの [セルのデバッグ] をクリックします。
これらのオプションのいずれかをクリックした後に、不足している Python Jupyter ノートブック パッケージの依存関係をインストールするように求められる場合があります。 クリックしてインストールしてください。
詳細については、「VS Code での Jupyter ノートブック」を参照してください。
ノートブックグローバル
次のノートブック グローバルも有効になっています。
spark
:databricks.connect.DatabricksSession
のインスタンスを表します。拡張機能から Azure Databricks 認証資格情報を取得してDatabricksSession
をインスタンス化するように事前構成されています。DatabricksSession
がノートブック セルのコードで既にインスタンス化されている場合は、代わりにこのDatabricksSession
設定が使用されます。 「Databricks Connect for Python のコード例」を参照してください。udf
:pyspark.sql.functions.udf
の別名として事前構成されています。これは Python UDF の別名です。 「pyspark.sql.functions.udf」を参照してください。sql
:spark.sql
の別名として事前構成されています。spark
は、上記のとおり、databricks.connect.DatabricksSession
の事前構成済みインスタンスを表します。 「Spark SQL」を参照してください。dbutils
: Databricks ユーティリティのインスタンスとして事前構成されています。databricks-sdk
からインポートされ、拡張機能から Azure Databricks 認証資格情報を取得してインスタンス化されます。 「Databricks ユーティリティを使用する」を参照してください。注
Databricks Connect を使用するノートブックでは、Databricks Utilities のサブセットのみがサポートされています。
dbutils.widgets
を有効にするには、まず、ローカル開発マシンのターミナルで次のコマンドを実行して、Databricks SDK for Python をインストールする必要があります。pip install 'databricks-sdk[notebook]'
display
: Jupyter 組み込み関数IPython.display.display
の別名として事前構成されています。 「IPython.display.display」を参照してください。displayHTML
:dbruntime.display.displayHTML
の別名として事前構成されています。これは、display.HTML
のipython
の別名です。 「IPython.display.html」を参照してください。
ノートブックマジック
次のノートブック マジックも有効にできます。
%fs
:dbutils.fs
呼び出しの実行と同じです。 「言語を混在させる」を参照してください。%sh
: ローカル コンピューターでセル マジック%%script
を使用してコマンドを実行します。 リモートの Azure Databricks ワークスペースでコマンドが実行されることはありません。 「言語を混在させる」を参照してください。%md
と%md-sandbox
: セル マジック%%markdown
を実行します。 「言語を混在させる」を参照してください。%sql
:spark.sql
を実行します。 「言語を混在させる」を参照してください。%pip
: ローカル コンピューターでpip install
を実行します。 リモートの Azure Databricks ワークスペースでpip install
が実行されることはありません。%pip
コマンドを使用したライブラリの管理を参照してください。%run
: 別のノートブックを実行します。 「ノートブックを調整し、ノートブック内のコードをモジュール化する」を参照してください。
さらに、次のような機能も有効になります。
- Spark DataFrame は pandas DataFrame に変換され、Jupyter テーブル形式で表示されます。
制限事項
Visual Studio Code のノートブックでセルを実行する場合の制限は次のとおりです。
- ノートブック マジック
%r
と%scala
はサポートされていないため、呼び出すとエラーが表示されます。 「言語を混在させる」を参照してください。 - ノートブック マジック
%sql
では、Show Tables などの一部の DML コマンドがサポートされていません。