Databricks Connect でノートブックを使用する

注:

この機能は、Databricks Runtime 13.3 以降で動作します。

Databricks ノートブックを実行し、Visual Studio Code の Databricks 拡張機能の Databricks Connect 統合を使用して、一度に 1 つのセルまたはすべてのセルを一度に Visual Studio Code IDE で結果を確認できます。 すべてのコードはローカルで実行されますが、DataFrame 操作に関連するすべてのコードはリモート Databricks ワークスペースのクラスターで実行され、実行応答はローカルの呼び出し元に送り返されます。 セルをデバッグすることもできます。 すべてのコードはローカルでデバッグされますが、すべての Spark コードはリモート Databricks ワークスペースのクラスターで引き続き実行されます。 コア Spark エンジン コードをクライアントから直接デバッグすることはできません。

既定では、この記事で説明する Databricks Connect 統合がない場合、ノートブックの使用は制限されます。

  • Visual Studio Code の Databricks 拡張機能のみを使用して、一度に 1 つのセルでノートブックを実行することはできません。

  • セルをデバッグすることはできません。

  • ノートブックは Databricks ジョブとしてのみ実行でき、Visual Studio Code IDE ではノートブックの実行結果のみを表示できます。

  • すべてのノートブック コードは、これらのジョブに関連付けられているクラスターでのみ実行されます。

Visual Studio Code の Databricks 拡張機能でノートブックの Databricks Connect 統合を有効にするには、Visual Studio Code の Databricks 拡張機能で Databricks Connect 統合を有効にする必要があります。 Visual Studio Code の Databricks 拡張機能については、「Databricks Connect を使用したコードのデバッグ」を参照してください。

有効にした後、ファイル名に .py 拡張子を持つノートブックの場合、Visual Studio Code IDE でノートブックを開くと、各セルに [セル を実行]、[ 上で実行]、および [ セルのデバッグ] ボタンが表示されます。 セルを実行すると、その結果が IDE の別のタブに表示されます。 デバッグ中は、デバッグ中のセルに [続行]、[停止]、および [ステップ オーバー] ボタンが表示されます。セルをデバッグするときに、変数の状態の監視、呼び出し履歴とデバッグ コンソールの表示など、Visual Studio Code のデバッグ機能を使用できます。

有効にした後、ファイル名に .ipynb 拡張子を持つノートブックの場合、Visual Studio Code IDE でノートブックを開くと、ノートブックとそのセルに追加機能が含まれます。 「セルの実行」および「ノートブック エディターでのコード セルの操作」を参照してください。

.py および .ipynb 拡張子を持つファイル名のノートブック形式の詳細については、「Databricks ノートブックのエクスポートとインポート」を参照してください。

次のノートブック グローバルも有効になります。

  • sparkのインスタンスを表す databricks.connect.DatabricksSessionは、拡張機能から Databricks 認証資格情報を取得することによって DatabricksSession インスタンス化するように事前に構成されています。 ノートブック セルのコードで DatabricksSession が既にインスタンス化されている場合は、代わりにこの DatabricksSession 設定が使用されます。 Databricks Connect for Python のコード例を参照してください。

  • udfは、Python UDF のエイリアスである pyspark.sql.functions.udfのエイリアスとして事前構成されています。 PySpark.sql.functions.udf を参照してください。

  • sqlspark.sqlのエイリアスとして事前構成されています。 sparkは、前述のように、 databricks.connect.DatabricksSessionの事前構成済みインスタンスを表します。 Spark SQL に関するページを参照してください。

  • dbutilsは、 databricks-sdk からインポートされ、拡張機能から Databricks 認証資格情報を取得することによってインスタンス化される Databricks ユーティリティのインスタンスとして事前構成されています。 「 Databricks ユーティリティの使用」を参照してください。

    注:

    Databricks Connect を使用したノートブックでは、Databricks ユーティリティのサブセットのみがサポートされています。

    dbutils.widgetsを有効にするには、まずローカル開発マシンのターミナルで次のコマンドを実行して、Python 用の Databricks SDK をインストールする必要があります。

    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、別のノートブックを実行します。 このノートブックのマジックは、Visual Studio Code バージョン 1.1.2 の Databricks 拡張機能で使用できます 以上。 「 別のノートブックから Databricks ノートブックを実行する」を参照してください。

    注:

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

    pip install nbformat
    
  • # MAGIC.このノートブックのマジックは、Visual Studio Code バージョン 1.1.2 の Databricks 拡張機能で使用できます 以上。

有効になる追加機能は次のとおりです。

  • Spark DataFrames は pandas DataFramesに変換され、Jupyter テーブル形式で表示されます。

制限事項は次のとおりです。

  • ノートブックのマジック %r%scala はサポートされておらず、呼び出されるとエラーが表示されます。 言語を混在させるを参照してください。

  • ノートブック マジック %sql では、[ テーブルの表示] などの一部の DML コマンドはサポートされていません。