次の方法で共有


Databricks Connect for Scala で InteliJ IDEA を使用する

Note

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

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

Note

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

Scala プラグインで Databricks Connect と IntelliJ IDEA を使用して、サンプル Scala sbt プロジェクトを作成、実行、デバッグするには、次の手順に従ってください。 これらの手順は、IntelliJ IDEA Community Edition 2023.3.6 でテストされました。 別のバージョンまたはエディションの IntelliJ IDEA を使用する場合、次の手順は異なる場合があります。

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

  2. IntelliJ IDEA を開始します。

  3. [ファイル] > [新規作成] > [プロジェクト] の順にクリックしてください。

  4. プロジェクトにわかりやすい名前を付けてください。

  5. [場所] では、フォルダー アイコンをクリックし、画面上の指示を完了して、新しい Scala プロジェクトへのパスを指定してください。

  6. [言語] では、[Scala] をクリックしてください。

  7. [ビルド システム] では、[sbt] をクリックしてください。

  8. [JDK] ドロップダウン リストで、クラスターの JDK バージョンと一致する開発マシンの JDK の既存のインストールを選択するか、[JDK のダウンロード] を選択し、画面上の指示に従って、クラスターの JDK のバージョンに一致する JDK をダウンロードしてください。

    Note

    クラスターの JDK バージョンより上または下の JDK インストールを選択すると、予期しない結果が発生したり、コードがまったく実行されないおそれがあります。

  9. [sbt] ドロップダウン リストで、最新バージョンを選択してください。

  10. [Scala] ドロップダウン リストで、クラスターの Scala バージョンと一致する Scala のバージョンを選択してください。

    Note

    クラスターの Scala バージョンより下または上の Scala バージョンを選択すると、予期しない結果が発生することや、コードがまったく実行されない場合があります。

  11. [パッケージ プレフィックス] では、プロジェクトのソースのパッケージ プレフィックス値 (例: org.example.application) を入力してください。

  12. [サンプル コードの追加] ボックスにチェックが入っていることを確認してください。

  13. Create をクリックしてください。

  14. Databricks Connect パッケージを追加する: 新しい Scala プロジェクトを開いた状態で、[プロジェクト] ツール ウィンドウ ([表示] > [ツール ウィンドウ] > [プロジェクト]) で、build.sbt という名前のファイルを、project-name> target で開いてください。

  15. 次のコードを build.sbt ファイルの末尾に追加してください。これは、Scala 用の Databricks Connect ライブラリの特定のバージョンに対するプロジェクトの依存関係を宣言します。

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

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

  16. [sbt の変更の読み込み] 通知アイコンをクリックして、Scala プロジェクトを新しいライブラリの場所と依存関係で更新してください。

  17. IDE の下部にある sbt 進行状況インジケーターが消えるまで待ちます。 sbt 読み込みプロセスの完了には、数分かかる場合があります。

  18. コードを追加する: [プロジェクト] ツール ウィンドウで、project-name> src > main > scala で、Main.scala という名前のファイルを開いてください。

  19. ファイル内の既存のコードをすべて次のコードに置き換えてから、ファイルを保存します。

    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()
      }
    }
    
  20. コードを実行する: リモートの Azure Databricks ワークスペースでターゲット クラスターを開始してください。

  21. クラスターが起動したら、メイン メニューで [実行] > [‘Main’ の実行] の順にクリックしてください。

  22. [実行] ツール ウィンドウ ([表示] > [ツール ウィンドウ] > [実行]) の [メイン] タブに、samples.nyctaxi.trips テーブルの最初の 5 行が表示されます。 すべての Scala コードはローカルで実行されますが、DataFrame 操作を含むすべての Scala コードは、リモートの Azure Databricks ワークスペース内のクラスターで実行され、実行応答がローカル呼び出し元に返されます。

  23. コードをデバッグする: まだ実行されていない場合は、リモートの Azure Databricks ワークスペースでターゲット クラスターを起動してください。

  24. 前のコードで、df.limit(5).show() の横にある余白をクリックしてブレークポイントを設定します。

  25. クラスターが起動したら、メイン メニューで [実行] > [‘Main’ のデバッグ] の順にクリックしてください。

  26. [デバッグ] ツール ウィンドウ ([表示] > [ツール ウィンドウ] > [デバッグ]) の [コンソール] タブで、計算ツール ([式の評価]) アイコンをクリックしてください。

  27. df.schema を入力し、[評価] をクリックして DataFrame のスキーマを表示してください。

  28. [デバッグ] ツール ウィンドウのサイドバーで、緑色の矢印 ([プログラムの再開]) アイコンをクリックします。

  29. [コンソール] ペインに、samples.nyctaxi.trips テーブルの最初の 5 行が表示されます。 すべての Scala コードはローカルで実行されますが、DataFrame 操作を含むすべての Scala コードは、リモートの Azure Databricks ワークスペース内のクラスターで実行され、実行応答がローカル呼び出し元に返されます。