メインコンテンツまでスキップ

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を実行またはデバッグするには:

  1. プロジェクトで、実行またはデバッグする Python Jupyter ノートブックを開きます。 PythonファイルがJupyterノートブック形式であり、拡張子が.ipynbであることを確認してください。
ヒント

新しい Python Jupyter ノートブックを作成するには、 コマンド パレット 内から >Create: New Jupyter ノートブック コマンドを実行します。

  1. デバッグなしですべてのセルを実行するには 「すべてのセルを実行」 を、デバッグなしで対応する個々のセルを実行するには 「セルを実行」 」を、 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 を参照してください。

ノートブックの魔法​

次のノートブックマジックも有効になります。

注記

%runを有効にするには、まず、ローカル開発マシンのターミナルで次のコマンドを実行して nbformat ライブラリをインストールする必要があります。

pip install nbformat

有効になっているその他の機能は次のとおりです。

  • Spark データフレーム は Pandas データフレームに変換され、Jupyter テーブル形式で表示されます。

制限​

Visual Studio Code のノートブックでセルを実行する場合の制限事項には、次のようなものがあります。

  • ノートブックのマジック %r および %scala はサポートされておらず、呼び出されるとエラーが表示されます。 「言語を混在させる」を参照してください。
  • ノートブックのマジック %sql は、 Show Tables などの一部の DML コマンドをサポートしていません。