IntelliJ IDEA を Databricks Connect for Scala で使用する
注
この記事では、Databricks Connect for Databricks Runtime 13.3 LTS 以降について説明します。
この記事では、Databricks Connect for Scala および IntelliJ IDEA を Scala プラグインと共に使用する方法について説明します。 Databricks Connect を使用すると、一般的な IDE、ノートブック サーバー、およびその他のカスタム アプリケーションを Databricks クラスターに接続できます。 「Databricks Connect とは」を参照してください。
注
Databricks Connectの使用を開始する前に、Databricks Connect クライアントをセットアップする必要があります。
Databricks Connect と IntelliJ IDEA を Scala プラグインと共に使用してサンプル Scala sbt
プロジェクトを作成、実行、デバッグするには、次の手順に従います。 これらの手順は、IntelliJ IDEA Community Edition 2023.3.6 でテストされています。 IntelliJ IDEA の異なるバージョンまたはエディションを使用する場合、次の手順は異なる場合があります。
Java 開発キット (JDK) がローカルにインストールされていることを確認します。 Databricks では、ローカル JDK のバージョンを Databricks クラスター上の JDK のバージョンと一致させることをお勧めします。
IntelliJ IDEAを起動します。
[ファイル] > [ 新しい>プロジェクト] をクリックします。
プロジェクトに意味のある 名前を付けます。
[場所] でフォルダー アイコンをクリックし、画面の指示を完了して、新しい Scala プロジェクトへのパスを指定します。
[言語] で [Scala] をクリックします。
[ビルド システム] で sbt をクリックする。
「JDK」ドロップダウンリストで、クラスターの JDK バージョンと一致する開発マシン上の JDK の既存のインストールを選択するか、「JDK のダウンロード」を選択し、画面の指示に従って、クラスターの JDK バージョンと一致する JDK をダウンロードします。
注
クラスター上の JDK バージョンより上または下の JDK インストールを選択すると、予期しない結果が発生したり、コードがまったく実行されなかったりする可能性があります。
sbt のドロップダウンリストで、最新バージョンを選択する。
[Scala] ドロップダウンリストで、クラスター上の Scala バージョンと一致する Scala のバージョンを選択します。
注
クラスターで Scala バージョンより下または上位の Scala バージョンを選択すると、予期しない結果が発生したり、コードがまったく実行されなかったりする可能性があります。
[ パッケージ接頭辞] に、プロジェクトのソースのパッケージ接頭辞の値 (
org.example.application
など) を入力します。[ サンプル コードの追加 ] ボックスがオンになっていることを確認します。
「作成」をクリックします。
Databricks Connect パッケージを追加します。 新しい Scala プロジェクトを開いた状態で、[プロジェクト] ツール ウィンドウ ( [ツール]
build.sbt
ウィンドウ> > [表示] で、 プロジェクト名 >ターゲット で という名前のファイルを開きます。次のコードを
build.sbt
ファイルの末尾に追加して、Scala 用 Databricks Connect ライブラリの特定のバージョンに対するプロジェクトの依存関係を宣言します。libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
14.3.1
、クラスター上の Databricks Runtime バージョンと一致するバージョンの Databricks Connect ライブラリに置き換えます。 Databricks Connect ライブラリのバージョン番号は、 Maven の中央リポジトリで確認できます。sbt の変更をロードする通知アイコンをクリックして、Scala プロジェクトを新しいライブラリの場所と依存関係で更新する。
IDE の下部にある
sbt
進行状況インジケーターが消えるまで待ちます。sbt
ロード プロセスが完了するまでに数分かかる場合があります。コードを追加する: プロジェクトツールウィンドウで、プロジェクト名 > src > main > scala にある
Main.scala
という名前のファイルを開きます。ファイル内の既存のコードを次のコードに置き換え、ファイルを保存します。
package org.example.application import com.databricks.connect.DatabricksSession import org.apache.spark.sql.SparkSession object Main { def main(args: Array[String]): Unit = { val spark = DatabricksSession.builder().remote().getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() } }
コードを実行します: リモート Databricks ワークスペースでターゲット クラスターを開始します。
クラスターが起動したら、メイン メニューで [ 実行] をクリックし> ['Main' の実行] をクリックします。
[ 実行 ] ツール ウィンドウ ([実行] >> [ツール ウィンドウの表示]) の [ メイン ] タブに、
samples.nyctaxi.trips
テーブルの最初の 5 行が表示されます。 すべての Scala コードはローカルで実行されますが、DataFrame 操作に関連するすべての Scala コードはリモート Databricks ワークスペースのクラスターで実行され、実行応答はローカルの呼び出し元に送り返されます。コードをデバッグする: リモート Databricks ワークスペースでターゲット クラスターを起動します (まだ実行されていない場合)。
すぐ前のコードでは
df.limit(5).show()
の横のガターをクリックしてブレークポイントを設定します。クラスターが起動したら、メイン メニューで [実行>デバッグ 'Main' をクリックします。
[デバッグ] ツール ウィンドウ ([デバッグ] ウィンドウ> [> ツールの表示]) の [コンソール] タブで、電卓 ([式の評価]) アイコンをクリックします。
式
df.schema
を入力し、[ 評価] をクリックして DataFrameのスキーマを表示します。[デバッグ] ツールウィンドウのサイドバーで、緑色の矢印([プログラムの再開])アイコンをクリックします。
[コンソール] ウィンドウに、
samples.nyctaxi.trips
テーブルの最初の 5 行が表示されます。すべての Scala コードはローカルで実行されますが、DataFrame 操作に関連するすべての Scala コードはリモート Databricks ワークスペースのクラスターで実行され、実行応答はローカルの呼び出し元に送り返されます。