Condividi tramite


Databricks Connect per Scala

Nota

Questo articolo illustra Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive.

Questo articolo illustra come iniziare rapidamente a usare Databricks Connect usando Scala con IntelliJ IDEA e il plug-in Scala.

Databricks Connect consente di connettere gli IDE più diffusi, ad esempio IntelliJ IDEA, i server notebook e altre applicazioni personalizzate ai cluster Di Azure Databricks. Vedere Che cos'è Databricks Connect?.

Esercitazione

Per ignorare questa esercitazione e usare invece un IDE diverso, vedere Passaggi successivi.

Requisiti

Per completare questa esercitazione, è necessario soddisfare i requisiti seguenti:

  • L'area di lavoro e il cluster di Azure Databricks di destinazione devono soddisfare i requisiti per la configurazione del cluster per Databricks Connect.

  • È necessario disporre dell'ID cluster disponibile. Per ottenere l'ID cluster, nell'area di lavoro fare clic su Calcolo sulla barra laterale e quindi sul nome del cluster. Nella barra degli indirizzi del Web browser copiare la stringa di caratteri tra clusters e configuration nell'URL.

  • Nel computer di sviluppo è installato Java Development Kit (JDK). Databricks consiglia di usare la versione dell'installazione di JDK corrispondente alla versione JDK nel cluster Azure Databricks. La tabella seguente illustra la versione di JDK per ogni runtime di Databricks supportato.

    Versione Databricks Runtime Versione di JDK
    13.3 LTS - 15.0,
    13.3 ML LTS - 15.0 ML
    JDK 8

    Nota

    Se non è installato un JDK o se sono presenti più installazioni JDK nel computer di sviluppo, è possibile installare o scegliere un JDK specifico più avanti nel passaggio 1. La scelta di un'installazione JDK sottostante o successiva alla versione JDK nel cluster potrebbe produrre risultati imprevisti oppure il codice potrebbe non essere eseguito affatto.

  • È installato IntelliJ IDEA. Questa esercitazione è stata testata con IntelliJ IDEA Community Edition 2023.3.6. Se si usa una versione o un'edizione diversa di IntelliJ IDEA, le istruzioni seguenti possono variare.

  • È installato il plug-in Scala per IntelliJ IDEA.

Passaggio 1: Configurare l'autenticazione di Azure Databricks

Questa esercitazione usa l'autenticazione da utente a computer (U2M) di Azure Databricks e un profilo di configurazione di Azure Databricks per l'autenticazione con l'area di lavoro di Azure Databricks. Per usare invece un tipo di autenticazione diverso, vedere Configurare le proprietà di connessione.

La configurazione dell'autenticazione U2M OAuth richiede l'interfaccia della riga di comando di Databricks, come indicato di seguito:

  1. Se non è già installato, installare l'interfaccia della riga di comando di Databricks come indicato di seguito:

    Linux, macOS

    Usare Homebrew per installare l'interfaccia della riga di comando di Databricks eseguendo i due comandi seguenti:

    brew tap databricks/tap
    brew install databricks
    

    Finestre

    È possibile usare winget, Chocolatey o sottosistema Windows per Linux (WSL) per installare l'interfaccia della riga di comando di Databricks. Se non è possibile usare winget, Chocolatey o WSL, è consigliabile ignorare questa procedura e usare il prompt dei comandi o PowerShell per installare l'interfaccia della riga di comando di Databricks dall'origine .

    Nota

    L'installazione dell'interfaccia della riga di comando di Databricks con Chocolatey è Sperimentale.

    Per usare winget per installare l'interfaccia della riga di comando di Databricks, eseguire i due comandi seguenti e quindi riavviare il prompt dei comandi:

    winget search databricks
    winget install Databricks.DatabricksCLI
    

    Per usare Chocolatey per installare l'interfaccia della riga di comando di Databricks, eseguire il comando seguente:

    choco install databricks-cli
    

    Per usare WSL per installare l'interfaccia della riga di comando di Databricks:

    1. Installare curl e zip tramite WSL. Per altre informazioni, vedere la documentazione del sistema operativo.

    2. Usare WSL per installare l'interfaccia della riga di comando di Databricks eseguendo il comando seguente:

      curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
      
  2. Verificare che l'interfaccia della riga di comando di Databricks sia installata eseguendo il comando seguente, che visualizza la versione corrente dell'interfaccia della riga di comando di Databricks installata. Questa versione deve essere 0.205.0 o successiva:

    databricks -v
    

    Nota

    Se si esegue databricks ma viene visualizzato un errore, command not found: databricksad esempio , o se si esegue databricks -v e viene elencato il numero di versione 0.18 o di seguito, significa che il computer non riesce a trovare la versione corretta dell'eseguibile dell'interfaccia della riga di comando di Databricks. Per risolvere questo problema, vedere Verificare l'installazione dell'interfaccia della riga di comando.

Avviare l'autenticazione U2M OAuth, come indicato di seguito:

  1. Usare l'interfaccia della riga di comando di Databricks per avviare la gestione dei token OAuth in locale eseguendo il comando seguente per ogni area di lavoro di destinazione.

    Nel comando seguente sostituire <workspace-url> con l'URL di Azure Databricks per area di lavoro, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --configure-cluster --host <workspace-url>
    
  2. L'interfaccia della riga di comando di Databricks richiede di salvare le informazioni immesse come profilo di configurazione di Azure Databricks. Premere Enter per accettare il nome del profilo suggerito oppure immettere il nome di un profilo nuovo o esistente. Qualsiasi profilo esistente con lo stesso nome viene sovrascritto con le informazioni immesse. È possibile usare i profili per cambiare rapidamente il contesto di autenticazione tra più aree di lavoro.

    Per ottenere un elenco di tutti i profili esistenti, in un terminale o un prompt dei comandi separato, usare l'interfaccia della riga di comando di Databricks per eseguire il comando databricks auth profiles. Per visualizzare le impostazioni esistenti di un profilo specifico, eseguire il comando databricks auth env --profile <profile-name>.

  3. Nel Web browser completare le istruzioni visualizzate per accedere all'area di lavoro di Azure Databricks.

  4. Nell'elenco dei cluster disponibili visualizzati nel terminale o nel prompt dei comandi usare i tasti freccia su e freccia giù per selezionare il cluster Azure Databricks di destinazione nell'area di lavoro e quindi premere Enter. È anche possibile digitare qualsiasi parte del nome visualizzato del cluster per filtrare l'elenco dei cluster disponibili.

  5. Per visualizzare il valore corrente del token OAuth di un profilo e il timestamp di scadenza imminente del token, eseguire uno dei comandi seguenti:

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

    Se si dispone di più profili con lo stesso --host valore, potrebbe essere necessario specificare insieme le --host opzioni e -p per consentire all'interfaccia della riga di comando di Databricks di trovare le informazioni corrette corrispondenti sul token OAuth.

Passaggio 2: Creare il progetto

  1. Avviare IntelliJ IDEA.

  2. Scegliere File > Nuovo > progetto dal menu principale.

  3. Assegnare al progetto un nome significativo.

  4. In Percorso fare clic sull'icona della cartella e completare le indicazioni visualizzate per specificare il percorso del nuovo progetto Scala.

  5. In Lingua fare clic su Scala.

  6. In Sistema di compilazione fare clic su sbt.

  7. Nell'elenco a discesa JDK selezionare un'installazione esistente di JDK nel computer di sviluppo corrispondente alla versione JDK nel cluster oppure selezionare Scarica JDK e seguire le istruzioni visualizzate per scaricare un JDK corrispondente alla versione JDK nel cluster.

    Nota

    La scelta di un'installazione JDK precedente o successiva alla versione JDK nel cluster potrebbe produrre risultati imprevisti oppure il codice potrebbe non essere eseguito affatto.

  8. Nell'elenco a discesa sbt selezionare la versione più recente.

  9. Nell'elenco a discesa Scala selezionare la versione di Scala corrispondente alla versione scala nel cluster. La tabella seguente illustra la versione scala per ogni databricks Runtime supportato:

    Versione Databricks Runtime Versione di Scala
    13.3 LTS - 15.0,
    13.3 ML LTS - 15.0 ML
    2.12.15

    Nota

    La scelta di una versione Scala sottostante o superiore alla versione scala nel cluster potrebbe produrre risultati imprevisti oppure il codice potrebbe non essere eseguito affatto.

  10. Assicurarsi che la casella Scarica origini accanto a Scala sia selezionata.

  11. Per Prefisso pacchetto immettere un valore di prefisso del pacchetto per le origini del progetto, ad esempio org.example.application.

  12. Assicurarsi che la casella Aggiungi codice di esempio sia selezionata.

  13. Cliccare su Crea.

Creare il progetto IntelliJ IDEA

Passaggio 3: Aggiungere il pacchetto Databricks Connect

  1. Con il nuovo progetto Scala aperto, nella finestra dello strumento Progetto (Visualizza > progetto Windows >strumento) aprire il file denominato build.sbt, nella destinazione del nome> del progetto.

  2. Aggiungere il codice seguente alla fine del build.sbt file, che dichiara la dipendenza del progetto da una versione specifica della libreria Databricks Connect per Scala:

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

    Sostituire 14.3.1 con la versione della libreria Databricks Connect corrispondente alla versione di Databricks Runtime nel cluster. È possibile trovare i numeri di versione della libreria Databricks Connect nel repository centrale Maven.

  3. Fare clic sull'icona di notifica Carica modifiche sbt per aggiornare il progetto Scala con il nuovo percorso e la nuova dipendenza della libreria.

  4. Attendere che l'indicatore sbt di stato nella parte inferiore dell'IDE scompaia. Il completamento del sbt processo di caricamento potrebbe richiedere alcuni minuti.

Installare il pacchetto Databricks Connect

Passaggio 4: Aggiungere codice

  1. Nella finestra dello strumento Project aprire il file denominato Main.scala, in project-name> src > main > scala.

  2. Sostituire qualsiasi codice esistente nel file con il codice seguente e quindi salvare il file, a seconda del nome del profilo di configurazione.

    Se il profilo di configurazione del passaggio 1 è denominato DEFAULT, sostituire qualsiasi codice esistente nel file con il codice seguente e quindi salvare il 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()
      }
    }
    

    Se il profilo di configurazione del passaggio 1 non è denominato DEFAULT, sostituire invece qualsiasi codice esistente nel file con il codice seguente. Sostituire il segnaposto <profile-name> con il nome del profilo di configurazione del passaggio 1 e quindi salvare il 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()
      }
    }
    

Passaggio 5: Eseguire il codice

  1. Avviare il cluster di destinazione nell'area di lavoro remota di Azure Databricks.
  2. Dopo l'avvio del cluster, nel menu principale fare clic su Esegui > 'Main'.
  3. Nella finestra Esegui strumento (Visualizza > esecuzione strumento>) nella scheda Principale vengono visualizzate le prime 5 righe della samples.nyctaxi.trips tabella.

Passaggio 6: Eseguire il debug del codice

  1. Con il cluster di destinazione ancora in esecuzione, nel codice precedente fare clic sulla barra accanto a df.limit(5).show() per impostare un punto di interruzione.
  2. Nel menu principale fare clic su Esegui > debug 'Main'.
  3. Nella finestra Strumento di debug (Visualizza >debug finestre > strumento) fare clic sull'icona calcolatrice (Valuta espressione) nella scheda Console.
  4. Immettere l'espressione df.schema e fare clic su Valuta per visualizzare lo schema del dataframe.
  5. Nella barra laterale della finestra dello strumento di debug fare clic sulla freccia verde (Riprendi programma).
  6. Nel riquadro Console vengono visualizzate le prime 5 righe della samples.nyctaxi.trips tabella.

Eseguire il debug del progetto IntelliJ IDEA

Passaggi successivi

Per altre informazioni su Databricks Connect, vedere articoli come i seguenti: