Databricks Connect for Scala で Visual Studio Code を使用する
Note
この記事では、Databricks Runtime 13.3 LTS 以降用の Databricks Connect について説明します。
この記事では、Visual Studio Code で Databricks Connect for Scala を使用する方法について説明します。 Databricks Connect を使用すると、一般的な IDE、ノートブック サーバー、その他のカスタム アプリケーションを Azure Databricks クラスターに接続できます。 「Databricks Connect とは」を参照してください。 この記事の Python バージョンについては、「Databricks Connect for Scala で Visual Studio Code を使用する」を参照してください。
Note
Databricks Connect の使用を開始する前に、Databricks Connect クライアントを設定する必要があります。
Databricks Connect と Visual Studio Code で Scala (Metals) を使用して、サンプル Scala sbt
プロジェクトを作成、実行、デバッグするには、次の手順に従ってください。 また、このサンプルを既存の Scala プロジェクトに適応することもできます。
Java Development Kit (JDK) と Scala がローカルにインストールされていることを確認してください。 Databricks では、ローカルの JDK と Scala のバージョンと、Azure Databricks クラスター上の JDK および Scala のバージョンを一致させることをお勧めしています。
最新バージョンの
sbt
がローカルにインストールされていることを確認してください。Visual Studio Code 用 Scala (Metals) 拡張機能をインストールしてください。
Visual Studio Code で、Scala プロジェクトを作成するフォルダーを開きます (ファイル > フォルダーを開く)。
サイドバーで、 メタル 拡張機能アイコンをクリックし、新しい Scala プロジェクトをクリックします。
コマンド パレットで、scala/hello-world.g8 という名前のテンプレートを選択し、画面上の指示に従って特定のフォルダーに Scala プロジェクトの作成を完了してください。
プロジェクト ビルド設定を追加する: エクスプローラーの [表示] ([表示] > [エクスプローラー]) で、プロジェクトのルートから
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 中央リポジトリで確認できます。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() }
プロジェクトをビルドする: コマンド パレットからコマンド >Metals: Import build を実行してください。
プロジェクト実行設定を追加する: [実行とデバッグ] ビュー ([表示] > [実行]) で、[create a launch.json file] (launch.json ファイルを作成する) というラベルのリンクをクリックします。
[コマンド パレット] で、Scala デバッガ―を選択します。
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": [] } ] }
プロジェクトを実行する: [Scala: メイン クラスの実行] の横にある [再生] (デバッグの開始) アイコンをクリックしてください。 [デバッグ コンソール] ビュー ([表示] > [デバッグ コンソール]) に、
samples.nyctaxi.trips
テーブルの最初の 5 行が表示されます。 すべての Scala コードはローカルで実行されますが、DataFrame 操作を含むすべての Scala コードは、リモートの Azure Databricks ワークスペース内のクラスターで実行され、実行応答がローカル呼び出し元に返されます。プロジェクトをデバッグする: コードにブレークポイントを設定し、[再生] アイコンをもう一度クリックしてください。 すべての Scala はローカルでデバッグされますが、すべての Scala コードはリモートの Azure Databricks ワークスペース内のクラスターで引き続き実行されます。 コア Spark エンジン コードをクライアントから直接デバッグすることはできません。