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