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 プロジェクトに適応させることもできます。
-
Java Development Kit (JDK) と Scala がローカルにインストールされていることを確認します。 では、ローカルのDatabricks JDK と のバージョンを、ScalaScala Databricksクラスターの JDK と のバージョンと一致させることをお勧めします。
-
sbt
の最新バージョンがローカルにインストールされていることを確認してください。 -
Visual Studio Code の Scala (Metals) 拡張機能をインストールします。
-
Visual Studio Code で、Scala プロジェクトを作成するフォルダー ( [ファイル] > [フォルダーを開く ]) を開きます。
-
サイドバーで [Metals ] 拡張機能アイコンをクリックし、[ 新しい Scala プロジェクト ] をクリックします。
-
コマンド パレットで、 Scala/hello-world.g8 という名前のテンプレートを選択します。 をクリックし、画面の指示に従って、指定したフォルダに Scala プロジェクトの作成を完了します。
-
プロジェクトのビルド設定を追加する: エクスプローラー ビュー ( エクスプローラーの表示) > 、プロジェクトのルートから
build.sbt
ファイルを開き、ファイルの内容を次のように置き換えて、ファイルを保存します。scalaVersion := "2.12.15"
libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"2.12.15
は、インストールされている Scalaのバージョンで置き換え、クラスターの Databricks Runtime バージョンに含まれているバージョンと一致する必要があります。を、クラスターの バージョンと一致する
14.0.0
Databricks Connectライブラリのバージョンに置き換えます。Databricks Runtimeたとえば、Databricks Connect 14.3.1 は Databricks Runtime 14.3 LTS と一致します。 Databricks Connect ライブラリのバージョン番号は、 Maven 中央リポジトリで確認できます。 -
Scala コードの追加: プロジェクトのルートを基準にして
src/main/scala/Main.scala
ファイルを開き、ファイルの内容を次のように置き換えて、ファイルを保存します。Scalaimport 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()
} -
プロジェクトをビルドする: コマンド >Metals: コマンド パレットからビルドをインポートし ます。
-
プロジェクト実行設定の追加:[実行とデバッグ] ビュー ([実行の表示] >) で、[ 起動の作成] JSON というラベルの付いたリンクをクリックします。 ファイル。
-
コマンド パレット で、[ Scala デバッガー ] を選択します。
-
次の実行設定を
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": []
}
]
} -
プロジェクトを実行する: 「Scala: メインクラスを実行 」の横にある再生 ( デバッグの開始 ) アイコンをクリックします。 [デバッグ コンソール ] ビュー ( [表示] > [デバッグ コンソール ]) に、
samples.nyctaxi.trips
テーブルの最初の 5 行が表示されます。すべてのScala コードはローカルで実行されますが、リモートScala DataFrameワークスペースのクラスターで実行されるDatabricks 操作と実行応答を含むすべての コードは、ローカルの呼び出し元に送り返されます。 -
プロジェクトをデバッグする: コードにブレークポイントを設定し、再生アイコンをもう一度クリックします。 Scalaすべてのコードはローカルでデバッグされますが、すべてのScalaコードはリモート Databricks ワークスペースのクラスターで引き続き実行されます。コア Spark エンジン コードは、クライアントから直接デバッグできません。