Visual Studio Code with Databricks Connect for Scala

この記事では、Databricks Connect for Databricks Runtime 13.3 LTS 以降について説明します。

この記事では、 Visual Studio Code で Databricks Connect for Scala を使用する方法について説明します。 Databricks Connect を使用すると、一般的な IDE、ノートブック サーバー、およびその他のカスタム アプリケーションを Databricks クラスターに接続できます。 「Databricks Connect とは」を参照してください。この記事の Python バージョンについては、「 Databricks Connect for Python での Visual Studio Code の使用」を参照してください。

Databricks Connectの使用を開始する前に、Databricks Connect クライアントをセットアップする必要があります。

Databricks Connect と Visual Studio Code を Scala (Metals) 拡張機能と共に使用して、サンプルの Scala sbt プロジェクトを作成、実行、デバッグするには、次の手順に従います。 このサンプルを既存の Scala プロジェクトに適合させることもできます。

  1. Java 開発キット (JDK) と Scala がローカルにインストールされていることを確認します。 Databricks では、ローカルの JDK と Scala のバージョンを、Databricks クラスター上の JDK と Scala のバージョンと一致させることをお勧めします。

  2. 最新バージョンの sbt がローカルにインストールされていることを確認します。

  3. Visual Studio Code 用の Scala (Metals) 拡張機能をインストールします。

  4. Visual Studio Code で、Scala プロジェクトを作成するフォルダー ([ファイル] > [フォルダーを開く]) を開きます。

  5. サイドバーで、「 金属 」拡張アイコンをクリックし、「 新規 Scala プロジェクト」をクリックします。

  6. コマンド パレットで、Scala /hello-world.g8 という名前のテンプレート 選択します。をクリックし、画面の指示に従って、指定したフォルダーに Scala プロジェクトの作成を完了します。

  7. プロジェクト ビルド設定の追加: [エクスプローラー ] ビュー ([エクスプローラーの表示] >) で、プロジェクトのルートから build.sbt ファイルを開き、ファイルの内容を次のように置き換えて、ファイルを保存します。

    scalaVersion := "2.12.15"
    
    libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
    

    2.12.15 をインストール済みのバージョンの Scala に置き換えます。これは、クラスター上の Databricks Runtime バージョンに含まれているバージョンと一致する必要があります。

    14.0.0、クラスター上の Databricks Runtime バージョンと一致するバージョンの Databricks Connect ライブラリに置き換えます。 Databricks Connect ライブラリのバージョン番号は、 Maven の中央リポジトリで確認できます。

  8. Scala コードを追加する: プロジェクトのルートを基準とした src/main/scala/Main.scala ファイルを開き、ファイルの内容を次のように置き換えて、ファイルを保存します。

    import com.databricks.connect.DatabricksSession
    import org.apache.spark.sql.SparkSession
    
    object Main extends App {
      val spark = DatabricksSession.builder().remote().getOrCreate()
      val df = spark.read.table("samples.nyctaxi.trips")
      df.limit(5).show()
    }
    
  9. プロジェクトをビルドする: コマンド パレットから >Metals: ビルドのインポート ] コマンドを実行します。

  10. プロジェクト実行設定の追加: Run & Debug ビュー (View > Run ) で、[起動の作成] というラベルの付いたリンクをクリックします。 JSONファイル。

  11. コマンド パレットで、[Scala デバッガー] を選択します。

  12. 次の実行構成を launch.json ファイルに追加し、ファイルを保存します。

    {
      // Use IntelliSense to learn about possible attributes.
      // Hover to view descriptions of existing attributes.
      // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
      "version": "0.2.0",
      "configurations": [
        {
          "type": "scala",
          "request": "launch",
          "name": "Scala: Run main class",
          "mainClass": "Main",
          "args": [],
          "jvmOptions": []
        }
      ]
    }
    
  13. プロジェクトを実行する: Scala: メインクラスを実行の横にある再生 (デバッグ開始) アイコンをクリックします。[デバッグ コンソール] ビュー ([デバッグ コンソールの表示]>) に、samples.nyctaxi.tripsテーブルの最初の 5 行が表示されます。すべての Scala コードはローカルで実行されますが、DataFrame 操作に関連するすべての Scala コードはリモート Databricks ワークスペースのクラスターで実行され、実行応答はローカルの呼び出し元に送り返されます。

  14. プロジェクトをデバッグする: コードにブレークポイントを設定し、再生アイコンをもう一度クリックします。 すべての Scala コードはローカルでデバッグされますが、すべての Scala コードはリモート Databricks ワークスペースのクラスターで引き続き実行されます。 コア Spark エンジン コードをクライアントから直接デバッグすることはできません。