Azure Databricks per sviluppatori Scala
Questo articolo fornisce una guida allo sviluppo di notebook e processi in Azure Databricks con il linguaggio Scala. La prima sezione fornisce collegamenti a esercitazioni per flussi di lavoro e attività comuni. La seconda sezione fornisce collegamenti ad API, librerie e strumenti chiave.
Un flusso di lavoro basilare per iniziare è:
- Importare il codice ed eseguirlo utilizzando un notebook Databricks interattivo: importare codice personalizzato da file o repository Git o provare un'esercitazione elencata di seguito.
- Eseguire il codice in un cluster: creare un cluster personalizzato o assicurarsi di disporre delle autorizzazioni per l'uso di un cluster condiviso. Collegare il notebook al cluster ed eseguire il notebook.
Oltre a questo, è possibile affrontare argomenti più specifici:
- Usare set di dati di dimensioni maggiori con Apache Spark
- Aggiungere visualizzazioni
- Automatizzare il carico di lavoro come processo
- Sviluppare in IDE
Esercitazioni
Le seguenti esercitazioni forniscono esempi di codice e notebook per imparare i flussi di lavoro più comuni. Per istruzioni sull'importazione di esempi di notebook nell'area di lavoro, si veda Importare un notebook.
- Esercitazione: caricare e trasformare i dati usando i dataframe di Apache Spark
- Esercitazione: Delta Lake presenta esempi di Scala.
- La guida introduttiva a Java e Scala consente di apprendere le nozioni di base per tenere traccia delle esecuzioni di training di apprendimento automatico usando MLflow in Scala.
- L'uso di XGBoost in Azure Databricks presenta un esempio di Scala.
Riferimento
Nelle seguenti sottosezioni sono elencate le funzionalità principali insieme ai suggerimenti per iniziare a sviluppare in Azure Databricks con Scala.
API Scala
Questi collegamenti forniscono un'introduzione e informazioni di riferimento per l'API Scala di Apache Spark.
- Esercitazione: caricare e trasformare i dati usando i dataframe di Apache Spark
- Eseguire query su stringhe JSON
- Introduzione al flusso strutturato
- Informazioni di riferimento sulle API Core di Apache Spark
- Informazioni di riferimento sulle API ML di Apache Spark
Gestire il codice con notebook e cartelle Git di Databricks.
I notebook di Databricks supportano Scala. Questi notebook offrono funzionalità simili a quelle di Jupyter, ma con aggiunte come visualizzazioni predefinite che usano Big Data, integrazioni di Apache Spark per il debug e il monitoraggio delle prestazioni e integrazioni MLflow per tenere traccia degli esperimenti di apprendimento automatico. Per iniziare importare un notebook. Dopo aver ottenuto l'accesso a un cluster, è possibile collegare un notebook al cluster ed eseguire il notebook.
Suggerimento
Per reimpostare completamente lo stato del notebook, può essere utile riavviare il kernel. Per gli utenti di Jupyter, l'opzione "riavvia kernel" in Jupyter corrisponde allo scollegamento e al ricollegamento di un notebook in Databricks. Per riavviare il kernel in un notebook, cliccare il selettore di calcolo nella barra degli strumenti del notebook e passare il puntatore del mouse sul cluster collegato o sul warehouse SQL nell'elenco per visualizzare un menu laterale. Selezionare Scollega & ricollega. In questo modo si scollega il notebook dal cluster e lo si ricollega, riavviando il processo.
Le cartelle Git di Databricks consentono agli utenti di sincronizzare notebook e altri file con i repository Git. Le cartelle Git di Databricks sono utili per il controllo delle versioni del codice e la collaborazione e semplificano l'importazione di un repository completo di codice in Azure Databricks, la visualizzazione delle versioni precedenti dei notebook e l'integrazione con lo sviluppo IDE. Per iniziare, clonare un repository Git remoto. È quindi possibile aprire o creare notebook con il clone del repository, collegare il notebook a un cluster ed eseguire il notebook.
Cluster e librerie
Azure Databricks compute fornisce la gestione del calcolo per cluster di qualsiasi dimensione: da cluster a singolo nodo fino a cluster di grandi dimensioni. È possibile personalizzare l'hardware e le librerie del cluster in base alle esigenze. I data scientist iniziano generalmente a lavorare creando un cluster o usando un cluster condiviso esistente. Dopo aver ottenuto l'accesso a un cluster, è possibile collegare un notebook al cluster o eseguire un processo nel cluster.
- Per i carichi di lavoro di piccole dimensioni che richiedono solo nodi singoli, i data scientist possono usare il calcolo a nodo singolo per risparmiare sui costi.
- Per suggerimenti dettagliati, si veda Consigli sulla configurazione dell’ambiente di calcolo.
- Gli amministratori possono configurare i criteri dei cluster per semplificare e guidare la creazione di cluster.
I cluster di Azure Databricks utilizzano un runtime di Databricks, che offre molte librerie comuni predefinite, tra cui Apache Spark, Delta Lake e altro ancora. È anche possibile installare altre librerie di terze parti o personalizzate da utilizzare con notebook e processi.
- Iniziare con le librerie predefinite nelle Note sulle versioni e sulla compatibilità di Databricks Runtime. Per elenchi completi di librerie preinstallate, si veda Versioni e compatibilità delle note sulla versione di Databricks Runtime.
- È anche possibile installare librerie Scala in un cluster.
- Per altri dettagli, si veda Librerie.
Visualizzazioni
I notebook Scala di Azure Databricks supportano molti tipi di visualizzazioni. È anche possibile usare visualizzazioni legacy:
Interoperabilità
Questa sezione descrive le funzionalità che supportano l'interoperabilità tra Scala e SQL.
Processi
È possibile automatizzare i carichi di lavoro Scala come processi pianificati o attivati in Azure Databricks. I processi possono eseguire notebook e JAR.
- Per informazioni dettagliate sulla creazione di un processo tramite l'interfaccia utente, vedere Configurare e modificare processi di Databricks.
- Gli SDK di Databricks consentono di creare, modificare ed eliminare processi a livello di codice.
- L'interfaccia della riga di comando di Databricks è un’interfaccia pratica per l'automazione dei processi.
IDE, strumenti di sviluppo e SDK
Oltre a sviluppare codice Scala all'interno di notebook di Azure Databricks, è possibile svilupparlo esternamente utilizzando ambienti di sviluppo integrati (IDE), come IntelliJ IDEA. Per sincronizzare il lavoro tra ambienti di sviluppo esterni e Azure Databricks, sono disponibili diverse opzioni:
- Codice: è possibile sincronizzare il codice usando Git. Si veda Integrazione git per le cartelle Git di Databricks.
- Librerie e processi: è possibile creare librerie esternamente e poi caricarle in Azure Databricks. Queste librerie possono essere importate all'interno dei notebook di Azure Databricks oppure usate per creare processi. Vedere Librerie e Pianificare e orchestrare i flussi di lavoro.
- Esecuzione da computer remoto: È possibile eseguire il codice dall'IDE locale per lo sviluppo interattivo e i test. L'IDE può comunicare con Azure Databricks per eseguire calcoli di grandi dimensioni nei cluster Azure Databricks. Ad esempio, è possibile usare IntelliJ IDEA con Databricks Connect.
Databricks fornisce un set di SDK che supportano l'automazione e l'integrazione con strumenti esterni. È possibile utilizzare gli SDK di Databricks per gestire risorse come cluster e librerie, codice e altri oggetti dell'area di lavoro, carichi di lavoro e processi e altro ancora. Si vedano gli SDK di Databricks.
Per altre informazioni su IDE, strumenti di sviluppo e SDK, vedere Strumenti di sviluppo.
Risorse aggiuntive
- Databricks Academy offre corsi autogestiti e con docente per molti argomenti.