Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa sezione fornisce una guida allo sviluppo di notebook e processi in Azure Databricks usando il linguaggio Python, incluse esercitazioni per flussi di lavoro e attività comuni e collegamenti ad API, librerie e strumenti.
Per iniziare:
- Importa codice: importare codice personalizzato da file o repository Git o provare un'esercitazione elencata di seguito. Databricks consiglia di apprendere usando notebook di Databricks interattivi.
- Eseguire il codice in un cluster: creare un cluster personalizzato o assicurarsi di disporre delle autorizzazioni per l'uso di un cluster condiviso. Collega il notebook al cluster ed esegui il notebook.
- È quindi possibile:
- Usare set di dati di dimensioni maggiori con Apache Spark
- Aggiungere visualizzazioni
- Automatizzare il carico di lavoro come un lavoro
- Usare Machine Learning per analizzare i dati
- Sviluppare negli IDE
- Eseguire e gestire unit test Python nell'area di lavoro
Esercitazioni
Le seguenti esercitazioni forniscono un codice e notebook di esempio per comprendere i flussi di lavoro comuni. Per istruzioni sull'importazione di esempi di notebook nell'area di lavoro, vedere Importare un notebook .
Ingegneria dei dati
- Esercitazione: Caricare e trasformare i dati usando i DataFrame di Apache Spark fornisce una guida dettagliata per aiutarti a imparare sui DataFrame di Apache Spark per la preparazione e l'analisi dei dati.
- Esercitazione: Creare e gestire tabelle Delta Lake.
- Esercitazione: Creare una pipeline ETL usando Change Data Capture.
Data Science e Machine Learning
- Introduzione ai dataframe Apache Spark per la preparazione e l'analisi dei dati : Esercitazione: Caricare e trasformare i dati con dataframe Apache Spark
- Tutorial: modelli end-to-end di Machine Learning su Azure Databricks. Per altri esempi, vedere Esercitazioni su intelligenza artificiale e Machine Learning.
- AutoML consente di iniziare rapidamente a sviluppare modelli di Machine Learning nei propri set di dati. L'approccio glass-box genera notebook con il flusso di lavoro completo di Machine Learning, che è possibile clonare, modificare ed eseguire di nuovo.
- Gestire il ciclo di vita del modello nel catalogo unity
Debug nei notebook di Python
Il notebook di esempio illustra come usare il debugger Python (pdb) nei notebook di Databricks. Per usare il debugger Python, è necessario eseguire Databricks Runtime 11.3 LTS o versione successiva.
Con Databricks Runtime 12.2 LTS e versioni successive, è possibile usare l'exploratore di variabili per tenere traccia del valore corrente delle variabili di Python nell'interfaccia utente del notebook. È possibile usare Esplora variabili per osservare i valori delle variabili Python mentre procedi attraverso i punti di interruzione.
Notebook di esempio del debugger Python
Nota
breakpoint()
non è supportato in IPython e pertanto non funziona nei notebook di Databricks. Si può usare import pdb; pdb.set_trace() in sostituzione di breakpoint().
API Python
Il codice Python eseguito al di fuori di Databricks può generalmente essere eseguito all'interno di Databricks e viceversa. Se si dispone di codice esistente, è sufficiente importarlo in Databricks per iniziare. Per informazioni dettagliate, vedere Gestire il codice con notebook e cartelle Git di Databricks .
Databricks può eseguire carichi di lavoro a computer singolo e distribuito Python. Per il calcolo a computer singolo, è possibile usare Python API e librerie come di consueto. Ad esempio, pandas e scikit-learn funzioneranno semplicemente. Per i carichi di lavoro di Python distribuiti, Databricks offre due API comuni predefinite: PySpark e API Pandas in Spark.
API PySpark
PySpark è l'API Python ufficiale per Apache Spark e combina la potenza di Python e Apache Spark. PySpark è più flessibile dell'API Pandas in Spark e offre supporto completo e funzionalità per data science e funzionalità di progettazione, ad esempio Spark SQL, Structured Streaming, MLLib e GraphX.
API Pandas su Spark
Nota
Il progetto open source Koalas consiglia ora di passare all'API Pandas in Spark. L'API Pandas in Spark è disponibile nei cluster che eseguono Databricks Runtime 10.0 e versioni successive. Per i cluster che eseguono Databricks Runtime 9.1 LTS e versioni successive, usare invece Koalas .
pandas è un pacchetto Python comunemente usato dai data scientist per l'analisi e la manipolazione dei dati. Tuttavia, pandas non è in grado di scalare per i big data. L'API Pandas in Spark riempie questo divario fornendo API equivalenti a pandas che funzionano in Apache Spark. Questa API open source è una scelta ideale per i data scientist che hanno familiarità con pandas ma non Apache Spark.
Gestire il codice con notebook e le cartelle Git di Databricks
notebook Databricks supportano Python. 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, importa un notebook. Dopo aver ottenuto l'accesso a un cluster, è possibile collegare un notebook al cluster ed eseguire il notebook.
Suggerimento
Per reimpostare lo stato del notebook, riavviare il kernel iPython. Per gli utenti di Jupyter, l'opzione "riavvia kernel" in Jupyter corrisponde all'avvio di una nuova sessione in Databricks. Per riavviare il kernel in un notebook di Python, fare clic sul selettore compute nella barra degli strumenti del notebook e passare il puntatore del mouse sul cluster collegato o sql warehouse nell'elenco per visualizzare un menu laterale. Selezionare Nuova sessione. Verrà avviata una nuova sessione che riavvia il processo di Python.
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 software
Azure Databricks compute offre la gestione delle risorse di calcolo per i cluster di qualsiasi dimensione: da cluster a nodo singolo fino a cluster di grandi dimensioni. È possibile personalizzare l'hardware e le librerie del cluster in base alle esigenze. I data scientist inizieranno in genere 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, vedere Consigli sulla configurazione del calcolo
- Gli amministratori possono configurare i criteri del cluster per semplificare e guidare la creazione del cluster.
Azure Databricks cluster usano un runtime di Databricks, che offre molte librerie comuni predefinite, tra cui Apache Spark, Delta Lake, pandas e altro ancora. È anche possibile installare altre librerie di terze parti o di Python personalizzate da usare con notebook e processi.
- Inizia con le librerie di default nelle note sulla versione e compatibilità di Databricks Runtime. Usare Databricks Runtime per Machine Learning per i carichi di lavoro di apprendimento automatico. Per elenchi completi di librerie preinstallate, vedere Versioni e compatibilità delle note sulla versione di Databricks Runtime.
- Personalizza il tuo ambiente usando librerie Python con ambito Notebook, che consentono di modificare il notebook o l'ambiente di esecuzione con librerie da PyPI o da altri repository. Il comando magic
%pip install my_libraryinstallamy_librarya tutti i nodi del cluster attualmente collegato, ma non interferisce con altri carichi di lavoro nel calcolo con la modalità di accesso standard. - Installare librerie non Python come le librerie con ambito di elaborazione Compute in base alle esigenze.
- Per altri dettagli, vedere Installare le librerie.
Visualizzazioni
Azure Databricks Python notebook supportano molti tipi di visualizzazioni. È anche possibile utilizzare visualizzazioni legacy.
È anche possibile visualizzare i dati utilizzando librerie di terze parti; alcuni sono preinstallati in Databricks Runtime, ma è anche possibile installare librerie personalizzate. Le opzioni più comuni comprendono:
Lavori
È possibile automatizzare i carichi di lavoro di Python come jobs pianificati o attivati in Databricks. I lavori possono eseguire notebook, script Python e file wheel Python.
- Creare e aggiornare processi usando l'interfaccia utente di Databricks
o l'API REST di Databricks . - Il Databricks Python SDK consente di creare, modificare ed eliminare processi a livello di codice.
- L'interfaccia della riga di comando di Databricks offre un'interfaccia della riga di comando pratica per l'automazione dei processi.
Suggerimento
Per pianificare uno script di Python anziché un notebook, usare il campo spark_python_task in tasks nel corpo di una richiesta di creazione del job.
Apprendimento automatico
Databricks supporta un'ampia gamma di carichi di lavoro di Machine Learning (ML), tra cui apprendimento automatico tradizionale su dati tabulari, Deep Learning per visione artificiale ed elaborazione del linguaggio naturale, sistemi di raccomandazione, analisi dei grafi e altro ancora. Per informazioni generali sull'apprendimento automatico in Databricks, vedere Intelligenza artificiale e Machine Learning in Databricks.
Per gli algoritmi di Machine Learning, è possibile usare librerie preinstallate in Databricks Runtime per Machine Learning, che include strumenti di Python comuni come scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib e XGBoost. È anche possibile installare librerie personalizzate.
Per le operazioni di Machine Learning (MLOps), Azure Databricks fornisce un servizio gestito per la libreria open source MLflow. Con MLflow Tracking è possibile registrare lo sviluppo di modelli e salvare i modelli in formati riutilizzabili. È possibile usare il Registro modelli MLflow per gestire e automatizzare la promozione dei modelli verso la produzione. I processi e la gestione dei modelli consentono l'hosting di modelli come processi batch e di streaming e come endpoint REST. Per altre informazioni ed esempi, vedere la documentazione MLflow in Databricks o MLflow Python API.
Per iniziare a usare carichi di lavoro di Machine Learning comuni, vedere le pagine seguenti:
- Training scikit-learn e monitoraggio con MLflow: esercitazione di 10 minuti: machine learning su Databricks con scikit-learn
- Training di modelli di Deep Learning: Deep Learning
- Ottimizzazione degli iperparametri: ottimizzazione degli iperparametri con Optuna
- Analisi dei grafi: Come usare GraphFrame in Azure Databricks
IDE, strumenti di sviluppo e SDK
Oltre a sviluppare codice Python all'interno di notebook Azure Databricks, è possibile sviluppare esternamente usando ambienti di sviluppo integrati (IDE), ad esempio PyCharm, Jupyter e Visual Studio Code. Per sincronizzare il lavoro tra ambienti di sviluppo esterni e Databricks, sono disponibili diverse opzioni:
- Codice: è possibile sincronizzare il codice usando Git. Vedere Azure Databricks cartelle Git.
- Libraries e Job: Si possono creare librerie (ad esempio file wheel Python) esternamente e caricarle in Databricks. Queste librerie possono essere importate all'interno dei notebook di Databricks oppure usate per creare processi. Consultare Installare librerie e Lakeflow Jobs.
- Esecuzione remota del computer: è possibile eseguire codice dall'IDE locale per lo sviluppo e il test interattivi. L'IDE può comunicare con Azure Databricks per eseguire Apache Spark e calcoli di grandi dimensioni nei cluster Azure Databricks. Vedere Databricks Connect.
Databricks offre un set di SDK, tra cui Python 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. Vedere gli SDK di Databricks.
Per altre informazioni sugli IDE, gli strumenti di sviluppo e gli SDK, vedere Strumenti di sviluppo locali.
Risorse aggiuntive
- Databricks Academy offre corsi a ritmo autonomo e guidati da istruttore su molti argomenti.
- Databricks Labs fornisce strumenti per lo sviluppo di Python in Databricks, ad esempio il plug-in pytest e il plug-in pylint. Azure Databricks offre anche funzionalità che consentono di gestire Python file di unit test nell'area di lavoro.
- Le funzionalità che supportano l'interoperabilità tra PySpark e pandas includono quanto segue:
- Python e gli strumenti di connettività del database SQL includono:
- Il connettore SQL Databricks per Python consente di usare il codice Python per eseguire comandi SQL nelle risorse Azure Databricks.
- pyodbc consente di connettersi dal codice Python locale tramite ODBC ai dati archiviati nel lakehouse di Databricks.
- Le domande frequenti e i suggerimenti per lo spostamento di carichi di lavoro Python in Databricks sono disponibili nella Knowledge Base Databricks.