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

Visual Studio Code と Databricks Connect for Scala の併用

注記

この記事では、Databricks Runtime13.3LTLTS以降のDatabricks Connectについて説明します。

この記事では、Databricks Connect for Scala を Visual Studio Code で使用する方法について説明します。 Databricks Connect を使用すると、一般的な IDEs、ノートブック サーバー、およびその他のカスタム アプリケーションを 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 Development Kit (JDK) と Scala がローカルにインストールされていることを確認します。 では、ローカルのDatabricks JDK と のバージョンを、ScalaScala Databricksクラスターの JDK と のバージョンと一致させることをお勧めします。

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

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

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

  5. サイドバーで [Metals ] 拡張機能アイコンをクリックし、[ 新しい Scala プロジェクト ] をクリックします。

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

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

    scalaVersion := "2.12.15"

    libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"

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

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

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

    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. プロジェクト実行設定の追加:[実行とデバッグ] ビュー ([実行の表示] >) で、[ 起動の作成] JSON というラベルの付いたリンクをクリックします。 ファイル。

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

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

    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 コードはローカルで実行されますが、リモートScala DataFrameワークスペースのクラスターで実行されるDatabricks 操作と実行応答を含むすべての コードは、ローカルの呼び出し元に送り返されます。

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