Condividi tramite


Utilizza IntelliJ IDEA con Databricks Connect per Scala

Nota

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

Questo articolo illustra come usare Databricks Connect per Scala e IntelliJ IDEA con il plugin di Scala . Databricks Connect consente di connettere i più diffusi ambienti di sviluppo integrati, server notebook e altre applicazioni personalizzate ai cluster di Azure Databricks. Vedere Che cos'è Databricks Connect?.

Nota

Prima di iniziare a usare Databricks Connect, è necessario configurare il client Databricks Connect.

Per usare Databricks Connect e IntelliJ IDEA con il plug-in Scala per creare, eseguire ed eseguire il debug di un progetto scala sbt di esempio, seguire queste istruzioni. Queste istruzioni sono state testate 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.

  1. Assicurarsi che Java Development Kit (JDK) sia installato in locale. Databricks consiglia che la versione JDK locale corrisponda alla versione di JDK nel cluster Azure Databricks.

  2. Avvia IntelliJ IDEA.

  3. Fare clic su File > Nuovo > Progetto.

  4. Dai al progetto un nome significativo .

  5. Per la Posizione , fare clic sull'icona della cartella e completare le istruzioni sullo schermo per specificare il percorso del tuo nuovo progetto Scala.

  6. Per Language, fare clic su Scala.

  7. Per Build system, clicca su sbt.

  8. Nell'elenco a discesa JDK, selezionare un'installazione esistente del JDK sul computer di sviluppo che corrisponde alla versione del JDK nel cluster, oppure selezionare Scarica JDK e seguire le istruzioni visualizzate per scaricare un JDK che corrisponde alla versione del JDK nel cluster. Per informazioni sulla versione, vedere i requisiti .

    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.

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

  10. Nell'elenco a discesa Scala, selezionare la versione di Scala corrispondente alla versione di Scala nel cluster. Per informazioni sulla versione, vedere i requisiti .

    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.

  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 di controllo Aggiungi codice di esempio sia selezionata.

  13. Fare clic su Crea.

  14. Aggiungi il pacchetto Databricks Connect: con il tuo nuovo progetto Scala aperto, nella finestra degli strumenti del progetto (Visualizza Strumenti finestra Progetto), apri il file denominato , nel percorso nome-progetto target.

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

    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. Ad esempio, Databricks Connect 14.3.1 corrisponde a Databricks Runtime 14.3 LTS. È possibile trovare i numeri di versione della libreria Databricks Connect nel repository centrale Maven .

  16. Fare clic sull'icona di notifica Carica modifiche sbt per aggiornare il progetto Scala con il nuovo percorso della libreria e le nuove dipendenze.

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

  18. Aggiungere codice: nella finestra degli strumenti progetto di aprire il file denominato , in nome progetto src principale scala.

  19. 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()
      }
    }
    
  20. Eseguire il codice: avviare il cluster di destinazione nell'area di lavoro remota di Azure Databricks.

  21. Dopo l'avvio del cluster, nel menu principale fare clic su Esegui > Esegui 'Main'.

  22. Nella finestra degli strumenti Esegui (Visualizza Finestre degli strumenti Esegui), nella scheda principale vengono visualizzate le prime 5 righe della tabella . Tutto il codice Scala viene eseguito localmente, mentre tutto il codice Scala che include operazioni dataframe viene eseguito nel cluster nell'area di lavoro remota di Azure Databricks e le risposte di esecuzione vengono inviate al chiamante locale.

  23. Eseguire il debug del codice: avviare il cluster di destinazione nell'area di lavoro remota di Azure Databricks, se non è già in esecuzione.

  24. Nel codice precedente, cliccare sul margine accanto a df.limit(5).show() per impostare un punto di interruzione.

  25. Dopo l'avvio del cluster, nel menu principale clicca su Esegui > Debug 'Main'.

  26. Nella finestra degli strumenti Debug (Visualizza Strumento Debug), nella scheda console di fare clic sull'icona calcolatrice (Valuta espressione).

  27. Immettere l'espressione df.schema e cliccare su Valuta per visualizzare lo schema del DataFrame.

  28. Nella barra laterale della finestra strumenti debugging, fare clic sulla freccia verde (Riprendi programma).

  29. Nel riquadro console, vengono visualizzate le prime 5 righe della tabella samples.nyctaxi.trips. Tutto il codice Scala viene eseguito localmente, mentre tutto il codice Scala che include operazioni dataframe viene eseguito nel cluster nell'area di lavoro remota di Azure Databricks e le risposte di esecuzione vengono inviate al chiamante locale.