Bagikan melalui


Tutorial: Menjalankan kode dari IntelliJ IDEA pada komputasi klasik

Tutorial ini menunjukkan cara memulai Databricks Connect for Scala menggunakan IntelliJ IDEA dan plugin Scala.

Dalam tutorial ini Anda membuat proyek di IntelliJ IDEA, menginstal Databricks Connect untuk Databricks Runtime 13.3 LTS ke atas, dan menjalankan kode sederhana pada komputasi di ruang kerja Databricks Anda dari IntelliJ IDEA.

Petunjuk / Saran

Untuk mempelajari cara menggunakan Bundel Aset Databricks untuk membuat proyek Scala yang menjalankan kode pada komputasi tanpa server, lihat Membangun JAR Scala menggunakan Bundel Aset Databricks.

Persyaratan

Untuk menyelesaikan tutorial ini, Anda harus memenuhi persyaratan berikut:

  • Ruang kerja, lingkungan lokal, dan komputasi Anda memenuhi persyaratan untuk Databricks Connect for Scala. Lihat Persyaratan penggunaan Databricks Connect.

  • Anda harus memiliki ID kluster Anda yang tersedia. Untuk mendapatkan ID kluster Anda, di ruang kerja Anda, klik Komputasi di bar samping, lalu klik nama kluster Anda. Di bilah alamat browser web Anda, salin string karakter antara clusters dan configuration di URL.

  • Anda memiliki Java Development Kit (JDK) yang diinstal pada komputer pengembangan Anda. Untuk informasi tentang versi yang akan diinstal, lihat matriks dukungan versi.

    Nota

    Jika Anda tidak memiliki JDK yang terinstal, atau jika Anda memiliki beberapa penginstalan JDK di komputer pengembangan, Anda dapat menginstal atau memilih JDK tertentu nanti di Langkah 1. Memilih penginstalan JDK yang berada di bawah atau di atas versi JDK pada kluster Anda mungkin menghasilkan hasil yang tidak terduga, atau kode Anda mungkin tidak berjalan sama sekali.

  • Anda telah menginstal IntelliJ IDEA . Tutorial ini diuji dengan IntelliJ IDEA Community Edition 2023.3.6. Jika Anda menggunakan versi atau edisi IntelliJ IDEA yang berbeda, instruksi berikut mungkin bervariasi.

  • Anda memiliki plugin Scala untuk IntelliJ IDEA yang terinstal.

Langkah 1: Mengonfigurasi autentikasi Azure Databricks

Tutorial ini menggunakan autentikasi pengguna-ke-mesin (U2M) Azure Databricks OAuth dan profil konfigurasi Azure Databricks untuk mengautentikasi dengan ruang kerja Azure Databricks Anda. Untuk menggunakan jenis autentikasi yang berbeda, lihat Mengonfigurasi properti koneksi.

Mengonfigurasi autentikasi OAuth U2M memerlukan Databricks CLI, sebagai berikut:

  1. Instal Databricks CLI:

    Linux, macOS

    Gunakan Homebrew untuk menginstal Databricks CLI dengan menjalankan dua perintah berikut:

    brew tap databricks/tap
    brew install databricks
    

    Windows

    Anda dapat menggunakan winget, Chocolatey atau Subsistem Windows untuk Linux (WSL) untuk menginstal Databricks CLI. Jika Anda tidak dapat menggunakan winget, Chocolatey, atau WSL, Anda harus melewati prosedur ini dan menggunakan Prompt Perintah atau PowerShell untuk menginstal Databricks CLI dari sumber sebagai gantinya.

    Nota

    Menginstal Databricks CLI dengan Chocolatey bersifat Eksperimental.

    Untuk menggunakan winget untuk menginstal Databricks CLI, jalankan dua perintah berikut, lalu mulai ulang Command Prompt Anda.

    winget search databricks
    winget install Databricks.DatabricksCLI
    

    Untuk menggunakan Chocolatey untuk menginstal Databricks CLI, jalankan perintah berikut:

    choco install databricks-cli
    

    Untuk menggunakan WSL untuk menginstal Databricks CLI:

    1. Instal curl dan zip melalui WSL. Untuk informasi selengkapnya, lihat dokumentasi sistem operasi Anda.

    2. Gunakan WSL untuk menginstal Databricks CLI dengan menjalankan perintah berikut:

      curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
      
  2. Konfirmasikan bahwa Databricks CLI diinstal dengan menjalankan perintah berikut, yang menampilkan versi CLI Databricks yang diinstal saat ini. Versi ini harus 0.205.0 atau lebih tinggi:

    databricks -v
    

Mulai autentikasi OAuth U2M, sebagai berikut:

  1. Gunakan Databricks CLI untuk memulai manajemen token OAuth secara lokal dengan menjalankan perintah berikut untuk setiap ruang kerja target.

    Dalam perintah berikut, ganti <workspace-url> dengan URL per ruang kerja Azure Databricks Anda, misalnya https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --configure-cluster --host <workspace-url>
    
  2. Databricks CLI meminta Anda untuk menyimpan informasi yang Anda masukkan sebagai profil konfigurasi Azure Databricks. Tekan Enter untuk menerima nama profil yang disarankan, atau masukkan nama profil baru atau yang sudah ada. Profil yang sudah ada dengan nama yang sama akan digantikan dengan informasi yang Anda masukkan. Anda dapat menggunakan profil untuk mengalihkan konteks autentikasi dengan cepat di beberapa ruang kerja.

    Untuk mendapatkan daftar profil yang ada, di terminal atau prompt perintah terpisah, gunakan Databricks CLI untuk menjalankan perintah databricks auth profiles. Untuk melihat pengaturan profil tertentu yang sudah ada, jalankan perintah databricks auth env --profile <profile-name>.

  3. Di browser web Anda, selesaikan instruksi di layar untuk masuk ke ruang kerja Azure Databricks Anda.

  4. Dalam daftar kluster yang tersedia yang muncul di terminal atau prompt perintah Anda, gunakan tombol panah atas dan panah bawah Anda untuk memilih kluster Azure Databricks target di ruang kerja Anda, lalu tekan Enter. Anda juga dapat mengetik bagian mana pun dari nama tampilan kluster untuk memfilter daftar kluster yang tersedia.

  5. Untuk melihat nilai token OAuth profil saat ini dan tanda waktu kedaluwarsa token yang akan datang, jalankan salah satu perintah berikut:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Jika Anda memiliki beberapa profil dengan nilai yang sama --host , Anda mungkin perlu menentukan --host opsi dan -p bersama-sama untuk membantu Databricks CLI menemukan informasi token OAuth yang cocok dengan benar.

Langkah 2: Membuat proyek

  1. Mulai IntelliJ IDEA.

  2. Pada menu utama, klik File > Baru > Proyek.

  3. Beri proyek Anda beberapa Nama yang bermakna.

  4. Untuk Lokasi, klik ikon folder, dan selesaikan petunjuk arah di layar untuk menentukan jalur ke proyek Scala baru Anda.

  5. Untuk Bahasa, klik Scala.

  6. Untuk Build system, klik sbt.

  7. Dalam daftar drop-down JDK, pilih penginstalan JDK yang ada pada komputer pengembangan Anda yang cocok dengan versi JDK pada kluster Anda, atau pilih Unduh JDK dan ikuti instruksi di layar untuk mengunduh JDK yang cocok dengan versi JDK pada kluster Anda. Lihat Persyaratan.

    Nota

    Memilih penginstalan JDK yang berada di atas atau di bawah versi JDK pada kluster Anda mungkin menghasilkan hasil yang tidak terduga, atau kode Anda mungkin tidak berjalan sama sekali.

  8. Di menu tarik-turun sbt, pilih versi terbaru.

  9. Pada daftar drop-down Scala, pilih versi Scala yang cocok dengan versi Scala di kluster Anda. Lihat Persyaratan.

    Nota

    Memilih versi Scala yang berada di bawah atau di atas versi Scala pada kluster Anda mungkin menghasilkan hasil yang tidak terduga, atau kode Anda mungkin tidak berjalan sama sekali.

  10. Pastikan kotak Unduh sumber di samping Scala dicentang.

  11. Untuk Awalan paket, masukkan beberapa nilai awalan paket untuk sumber proyek Anda, misalnya org.example.application.

  12. Pastikan kotak Tambahkan kode sampel dicentang.

  13. Klik Buat.

Membuat proyek IntelliJ IDEA

Langkah 3: Tambahkan paket Databricks Connect

  1. Dengan proyek Scala baru Anda terbuka, di jendela alat Proyek Anda (Lihat Jendela Alat Proyek), buka file yang bernama , di dalam nama-proyek target.

  2. Tambahkan kode berikut ke akhir build.sbt file, yang menyatakan dependensi proyek Anda pada versi tertentu dari pustaka Databricks Connect untuk Scala, kompatibel dengan versi Databricks Runtime kluster Anda:

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

    Ganti 17.3 dengan versi pustaka Databricks Connect yang cocok dengan versi Databricks Runtime pada kluster Anda. Misalnya, Databricks Connect 17.3.+ cocok dengan Databricks Runtime 17.3 LTS. Anda dapat menemukan nomor versi pustaka Databricks Connect di repositori pusat Maven.

    Nota

    Saat membangun dengan Databricks Connect, jangan sertakan artefak Apache Spark seperti org.apache.spark:spark-core dalam proyek Anda. Sebagai gantinya, kompilasi langsung terhadap Databricks Connect.

  3. Klik ikon pemberitahuan Muat perubahan sbt untuk memperbarui proyek Scala Anda ke lokasi dan dependensi pustaka baru.

    Menginstal paket Databricks Connect

  4. Tunggu hingga indikator kemajuan sbt di bagian bawah IDE menghilang. Proses sbt pemuatan mungkin perlu waktu beberapa menit untuk diselesaikan.

Langkah 4: Tambahkan kode

  1. Di jendela alat Proyek Anda, buka file bernama , di Main.scala.

  2. Ganti kode yang ada dalam file dengan kode berikut lalu simpan file, tergantung pada nama profil konfigurasi Anda.

    Jika profil konfigurasi Anda dari Langkah 1 diberi nama DEFAULT, ganti kode yang ada dalam file dengan kode berikut, lalu simpan file:

    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()
      }
    }
    

    Jika profil konfigurasi Anda dari Langkah 1 tidak bernama DEFAULT, ganti kode yang ada dalam file dengan kode berikut sebagai gantinya. Ganti tempat penampung <profile-name> dengan nama profil konfigurasi Anda dari Langkah 1, lalu simpan file:

    package org.example.application
    
    import com.databricks.connect.DatabricksSession
    import com.databricks.sdk.core.DatabricksConfig
    import org.apache.spark.sql.SparkSession
    
    object Main {
      def main(args: Array[String]): Unit = {
        val config = new DatabricksConfig().setProfile("<profile-name>")
        val spark = DatabricksSession.builder().sdkConfig(config).getOrCreate()
        val df = spark.read.table("samples.nyctaxi.trips")
        df.limit(5).show()
      }
    }
    

Langkah 5: Mengonfigurasi opsi VM

  1. Imporlah direktori saat ini di IntelliJ Anda di mana build.sbt berada.

  2. Pilih Java 17 di IntelliJ. Buka File>Project Structure>SDK.

  3. Buka src/main/scala/com/examples/Main.scala.

  4. Navigasikan ke konfigurasi untuk Main untuk menambahkan opsi VM:

    Edit Utama

    Tambahkan opsi VM

  5. Tambahkan yang berikut ini ke opsi VM Anda:

    --add-opens=java.base/java.nio=ALL-UNNAMED
    

Petunjuk / Saran

Atau, atau jika Anda menggunakan Visual Studio Code, tambahkan yang berikut ini ke file build sbt Anda:

fork := true
javaOptions += "--add-opens=java.base/java.nio=ALL-UNNAMED"

Kemudian jalankan aplikasi Anda dari terminal:

sbt run

Langkah 6: Jalankan kode

  1. Mulai kluster target di ruang kerja Azure Databricks jarak jauh Anda.
  2. Setelah kluster dimulai, pada menu utama, klik Jalankan 'Main'>.
  3. Di jendela alat Jalankan (Tampilkan > Jendela Alat > Jalankan), pada tab Utama, 5 baris pertama tabel samples.nyctaxi.trips muncul.

Langkah 7: Debug kode

  1. Dengan kluster target yang masih berjalan, dalam kode sebelumnya, klik pada gutter di sebelah df.limit(5).show() untuk mengatur titik henti.

  2. Pada menu utama, klik Jalankan > Debug 'Main'. Di jendela alat Debug (Lihat > Alat Windows > Debug), pada tab Konsol , klik ikon kalkulator (Evaluasi Ekspresi).

  3. Masukkan ekspresi df.schema.

  4. Klik Evaluasi untuk memperlihatkan skema DataFrame.

  5. Di bilah samping jendela alat Debug , klik ikon panah hijau (Lanjutkan Program). Baris pertama sebanyak 5 dari tabel samples.nyctaxi.trips muncul di panel Konsol.

    Melakukan debug proyek IntelliJ IDEA