Condividi tramite


Azure Databricks per sviluppatori Python

Questa sezione fornisce una guida allo sviluppo di notebook e processi in Azure Databricks usando il linguaggio Python. La prima sottosezione fornisce collegamenti a esercitazioni per flussi di lavoro e attività comuni. La seconda sottosezione fornisce collegamenti ad API, librerie e strumenti chiave.

Un flusso di lavoro di base per iniziare è:

Esercitazioni

Le esercitazioni seguenti forniscono codice di esempio e notebook per informazioni sui flussi di lavoro comuni. Per istruzioni sull'importazione di esempi di notebook nell'area di lavoro, vedere Importare un notebook .

Data science interattivo e Machine Learning

Ingegneria dei dati

Machine Learning di produzione e operazioni di Machine Learning

Eseguire il debug nei notebook 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 Esplora variabili per tenere traccia del valore corrente delle variabili Python nell'interfaccia utente del notebook. È possibile usare Esplora variabili per osservare i valori delle variabili Python durante l'esecuzione dei punti di interruzione.

Notebook di esempio del debugger Python

Ottenere il notebook

Nota

breakpoint() non è supportato in IPython e pertanto non funziona nei notebook di Databricks. È possibile usare import pdb; pdb.set_trace() anziché breakpoint().

API Python

Il codice Python eseguito all'esterno di Databricks può in genere 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 Python a computer singolo e distribuito. Per il calcolo a computer singolo, è possibile usare le API e le librerie Python come di consueto; Ad esempio, pandas e scikit-learn funzioneranno semplicemente. Per i carichi di lavoro Python distribuiti, Databricks offre due API comuni predefinite: PySpark e API Pandas in Spark.

PySpark API

PySpark è l'API Python ufficiale per Apache Spark e combina la potenza di Python e Apache Spark. PySpark offre maggiore flessibilità rispetto all'API Pandas in Spark e offre un ampio supporto e funzionalità per data science e funzionalità di progettazione, ad esempio Spark SQL, Structured Streaming, MLLib e GraphX.

API Pandas in 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 (non supportato) 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 aumenta il numero di istanze in 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 cartelle Git di Databricks

I notebook di 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 Machine Learning. 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 iPython. 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 Python, fare clic sul selettore di calcolo 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 Scollega e ricollega. Questo rimuove il notebook dal cluster e lo ricollega, che riavvia il processo 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

L'ambiente di calcolo di Azure Databricks offre la gestione 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.

I cluster di Azure Databricks 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 Python di terze parti o personalizzate da usare con notebook e processi.

  • Iniziare con le librerie predefinite nelle versioni delle note sulla versione e sulla compatibilità di Databricks Runtime. Usare Databricks Runtime per Machine Learning per carichi di lavoro di Machine Learning . Per elenchi completi di librerie preinstallate, vedere Versioni e compatibilità delle note sulla versione di Databricks Runtime.
  • Personalizzare l'ambiente usando librerie Python con ambito notebook, che consentono di modificare il notebook o l'ambiente del processo con librerie da PyPI o da altri repository. Il %pip install my_library comando magic viene installato my_library in tutti i nodi del cluster attualmente collegato, ma non interferisce con altri carichi di lavoro nei cluster condivisi.
  • Installare librerie non Python come librerie cluster in base alle esigenze.
  • Per altri dettagli, vedere Librerie.

Visualizzazioni

I notebook Python di Azure Databricks supportano molti tipi di visualizzazioni. È anche possibile usare visualizzazioni legacy.

È anche possibile visualizzare i dati usando librerie di terze parti; alcuni sono preinstallati in Databricks Runtime, ma è anche possibile installare librerie personalizzate. Le opzioni più comuni includono:

Processi

È possibile automatizzare i carichi di lavoro Python come pianificato o attivato Creare ed eseguire processi di Azure Databricks in Databricks. I processi possono eseguire notebook, script Python e file wheel python.

  • Per informazioni dettagliate sulla creazione di un processo tramite l'interfaccia utente, vedere Creare un processo.
  • Gli SDK di Databricks consentono 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 Python invece di un notebook, usare il spark_python_task campo sotto tasks nel corpo di una richiesta di creazione del processo.

Apprendimento automatico

Databricks supporta un'ampia gamma di carichi di lavoro di Machine Learning (ML), tra cui machine learning tradizionale su dati tabulari, Deep Learning per visione artificiale ed elaborazione del linguaggio naturale, sistemi di raccomandazione, analisi dei gragrafi 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 Python diffusi 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 relativa alla gestione del ciclo di vita di Machine Learning tramite MLflow o la documentazione dell'API Python MLflow.

Per iniziare a usare carichi di lavoro di Machine Learning comuni, vedere le pagine seguenti:

IDE, strumenti di sviluppo e SDK

Oltre allo sviluppo di codice Python all'interno di notebook di 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 Integrazione git con le cartelle Git di Databricks.
  • Librerie e processi: è possibile creare librerie (ad esempio file con rotellina Python) esternamente e caricarle in Databricks. Queste librerie possono essere importate all'interno dei notebook di Databricks oppure possono essere usate per creare processi. Vedere Librerie e creare ed eseguire processi di Azure Databricks.
  • 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 Connessione.

Databricks offre un set di SDK che supportano l'automazione e l'integrazione con strumenti esterni. È possibile usare 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 su IDE, strumenti di sviluppo e SDK, vedere Strumenti di sviluppo e indicazioni.

Risorse aggiuntive