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 get con Databricks Connect usando Scala con IntelliJ IDEA e il plug-in Scala .
- Per la versione Python di questo articolo, consultare Databricks Connect per Python.
- Per la versione R di questo articolo, vedere Databricks Connect for R.
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. Consultare 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 di calcolo per Databricks Connect.
È necessario disporre dell'ID cluster disponibile. Per get 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
econfiguration
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. Il seguente table illustra la versione JDK per ogni Databricks Runtime supportato.
Versione Databricks Runtime Versione di JDK 13.3 LTS - 15.0,
13.3 ML LTS - 15.0 MLJDK 8 16,0 JDK 17 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:
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:
Installare
curl
ezip
tramite WSL. Per altre informazioni, vedere la documentazione del sistema operativo.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
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 si get un errore, ad esempiocommand not found: databricks
, o se si eseguedatabricks -v
e un numero di versione 0.18 o inferiore è elencato, 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:
Usare il Databricks CLI per avviare la gestione dei token OAuth in locale eseguendo il seguente comando per ogni area di lavoro di destinazione.
Nel seguente comando, sostituire
<workspace-url>
con l’URL per l'area di lavoro di Azure Databricks, per esempiohttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --configure-cluster --host <workspace-url>
Il Databricks CLI 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 get un list di qualsiasi profilo esistente, 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 comandodatabricks auth env --profile <profile-name>
.Nel Web browser completare le istruzioni visualizzate per accedere all'area di lavoro di Azure Databricks.
Nella list dei cluster disponibili visualizzati nel terminale o nel prompt dei comandi, utilizzare i tasti freccia su e giù per select il cluster di Azure Databricks di destinazione nell'area di lavoro e quindi premere
Enter
. È anche possibile digitare qualsiasi parte del nome visualizzato del cluster per filtrare il filtro list dei cluster disponibili.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 valore
--host
, potrebbe essere necessario specificare insieme le opzioni--host
e-p
per consentire al Databricks CLI di trovare le informazioni corrette corrispondenti sul token OAuth.
Step 2: Creare il progetto
Avviare IntelliJ IDEA.
Scegliere File > Nuovo > progetto dal menu principale.
Assegnare al progetto un nome significativo.
In Percorso fare clic sull'icona della cartella e completare le indicazioni visualizzate per specificare il percorso del nuovo progetto Scala.
In Lingua fare clic su Scala.
In Sistema di compilazione fare clic su sbt.
Nel menu a discesa JDKlistselect, seleziona un'installazione esistente di JDK sul tuo computer di sviluppo che corrisponde alla versione JDK del tuo cluster, oppure selectscarica il JDK e segui le istruzioni visualizzate per scaricare un JDK corrispondente alla versione JDK del tuo 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.
Nell'elenco a discesa sbtlist, la versione più recente è select.
Nel menu a tendina Scala
, seleziona la versione di Scala che corrisponde alla versione di Scala nel cluster. Il table seguente illustra la versione di Scala per ogni runtime di Databricks supportato: Versione Databricks Runtime Versione di Scala 13.3 LTS - 15.0,
13.3 ML LTS - 15.0 ML2.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.
Assicurarsi che la casella Scarica origini accanto a Scala sia selezionata.
Per Prefisso pacchetto immettere un valore di prefisso del pacchetto per le origini del progetto, ad esempio
org.example.application
.Assicurarsi che la casella Aggiungi codice di esempio sia selezionata.
Cliccare su Crea.
Passaggio 3: Aggiungere il pacchetto Databricks Connect
Con il nuovo progetto Scala aperto, nello
strumento progetto ( Visualizza ) aprire il file denominatoStrumento Progetto , in destinazione.nome progetto 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.Fare clic sull'icona di notifica Carica sbt per update il progetto Scala con il nuovo percorso e la nuova dipendenza della libreria.
Attendere che l'indicatore
sbt
di stato nella parte inferiore dell'IDE scompaia. Il completamento delsbt
processo di caricamento potrebbe richiedere alcuni minuti.
Passaggio 4: Aggiungere codice
Nello strumento Projectwindow, aprire il file denominato
Main.scala
, in project-name> src > main > scala.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
- Avviare il cluster di destinazione nell'area di lavoro remota di Azure Databricks.
- Dopo l'avvio del cluster, nel menu principale fare clic su Esegui > 'Main'.
- Nello strumento
Esegui ( Visualizza ), nella scheda principaleStrumento Esegui vengono visualizzate le prime 5 righe del .
Passaggio 6: Eseguire il debug del codice
- Con il cluster di destinazione ancora in esecuzione, nel codice precedente, fai clic nell'area laterale accanto a
df.limit(5).show()
per set inserire un punto di interruzione. - Nel menu principale fare clic su Esegui > debug 'Main'.
- Nello strumento debug
( Visualizza strumento ), nella scheda Console diDebug fare clic sull'icona calcolatrice ( Valuta espressione ). - Immettere l'espressione
df.schema
e fare clic su Valuta per visualizzare il schemadel DataFrame. - Nella barra laterale dello strumento di debug window, clicca sull'icona della freccia verde (Riprendi programma).
- Nel riquadro console vengono visualizzate le prime 5 righe del
samples.nyctaxi.trips
table.
Passaggi successivi
Per altre informazioni su Databricks Connect, vedere articoli come i seguenti:
Per usare i tipi di autenticazione di Azure Databricks diversi da un token di accesso personale di Azure Databricks, vedere Configurare le proprietà di connessione.
Per usare altri IDE, vedere quanto segue:
Per visualizzare altri esempi di codice semplici, vedere Esempi di codice per Databricks Connect per Scala.
Per visualizzare esempi di codice più complessi, vedere le applicazioni di esempio per il repository Databricks Connect in GitHub, in particolare:
Per eseguire la migrazione da Databricks Connect per Databricks Runtime 12.2 LTS e versioni successive a Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive, vedere Eseguire la migrazione a Databricks Connect per Scala.
Vedere anche informazioni sulla risoluzione dei problemi e sulle limitazioni.