Eseguire ed eseguire il debug delle celle del notebook con Databricks Connect usando l'estensione Databricks per Visual Studio Code
È possibile eseguire ed eseguire il debug di notebook, una cella alla volta o tutte le celle contemporaneamente e visualizzarne i risultati nell'interfaccia utente di Visual Studio Code usando l'estensione Databricks per l'integrazione di Databricks Connect di Visual Studio Code. Tutto il codice viene eseguito localmente, mentre tutto il codice che coinvolge le operazioni del dataframe viene eseguito nel cluster nell'area di lavoro remota di Azure Databricks e le risposte di esecuzione vengono inviate al chiamante locale. Tutto il codice viene sottoposto a debug in locale, mentre tutto il codice Spark continua a essere eseguito nel cluster nell'area di lavoro remota di Azure Databricks. Il codice principale del motore Spark non può essere sottoposto a debug direttamente dal client.
Nota
Questa funzionalità funziona con Databricks Runtime 13.3 e versioni successive.
Per abilitare l'integrazione di Databricks Connect per i notebook nell'estensione Databricks per Visual Studio Code, è necessario installare Databricks Connect nell'estensione Databricks per Visual Studio Code. Si veda Eseguire il debug del codice con Databricks Connect per l'estensione Databricks per Visual Studio Code.
Eseguire le celle del notebook Python
Per i notebook con nomi di file con estensione .py
, quando si apre il notebook nell'IDE di Visual Studio Code, ogni cella visualizza i pulsanti Esegui cella, Esegui sopra e Debug cella . Quando si esegue una cella, i risultati vengono visualizzati in una scheda separata nell'IDE. Durante il debug, nella cella sottoposta a debug vengono visualizzati i pulsanti Continua, Arresta e Esegui istruzione/ routine . Durante il debug di una cella, è possibile usare funzionalità di debug di Visual Studio Code, ad esempio osservare gli stati delle variabili e visualizzare lo stack di chiamate e la console di debug.
Per i notebook con nomi di file con estensione .ipynb
, quando si apre il notebook nell'IDE di Visual Studio Code, il notebook e le relative celle contengono funzionalità aggiuntive. Vedere Esecuzione di celle e Uso di celle di codice nell'editor del notebook.
Per altre informazioni sui formati di notebook per i nomi file con le .py
estensioni e .ipynb
, vedere Esportare e importare i notebook di Databricks.
Eseguire le celle noteboook di Jupyter python
Per eseguire o eseguire il debug di un notebook Jupyter Python (.ipynb
):
Nel progetto aprire il notebook Jupyter Python che si vuole eseguire o eseguire il debug. Assicurarsi che il file Python sia in formato jupyter notebook e abbia l'estensione
.ipynb
.Suggerimento
È possibile creare un nuovo notebook Jupyter Python eseguendo il >comando Crea: Nuovo jupyter Notebook dall'interno del riquadro comandi.
Fare clic su Esegui tutte le celle per eseguire tutte le celle senza debug, Esegui cella per eseguire una singola cella corrispondente senza debug oppure Esegui per linea per eseguire una singola riga di cella con debug limitato, con la variabile values visualizzata nel pannello Jupyter (Visualizza > Visualizzazione aperta > Jupyter).
Per il debug completo all'interno di una singola cella, impostare i punti di interruzione set e quindi fare clic su Debug Cella nel menu accanto al pulsante Esegui della cella.
Dopo aver fatto clic su una di queste opzioni, potrebbe essere richiesto di installare le dipendenze del pacchetto jupyter notebook Python mancante. Fare clic per installare.
Per altre informazioni, vedere Jupyter Notebooks in VS Code.
Globals notebook
Sono abilitati anche i blocchi appunti seguenti:
spark
, che rappresenta un'istanza didatabricks.connect.DatabricksSession
, è preconfigurata per istanziareDatabricksSession
ottenendo l'autenticazione credentials di Azure Databricks dall'estensione. SeDatabricksSession
è già stata creata un'istanza nel codice di una cella del notebook, questeDatabricksSession
impostazioni vengono invece usate. Vedere Esempi di codice per Databricks Connect per Python.udf
, preconfigurato come alias perpyspark.sql.functions.udf
, che è un alias per le funzioni definite dall'utente Python. Vedere pyspark.sql.functions.udf.sql
, preconfigurato come alias perspark.sql
.spark
, come descritto in precedenza, rappresenta un'istanza preconfigurata didatabricks.connect.DatabricksSession
. Vedere Spark SQL.dbutils
, preconfigurato come istanza di Databricks Utilities, che viene importata dadatabricks-sdk
e viene istanziata ottenendo l'autenticazione di Azure Databricks credentials dall'estensione. Vedere Usare le utilità di Databricks.Nota
Per i notebook con Databricks Connect è supportato solo un subset di utilità di Databricks.
Per abilitare
dbutils.widgets
, è prima necessario installare Databricks SDK per Python eseguendo il comando seguente nel terminale del computer di sviluppo locale:pip install 'databricks-sdk[notebook]'
display
, preconfigurato come alias per jupyter builtinIPython.display.display
. Vedere IPython.display.display.displayHTML
, preconfigurato come alias perdbruntime.display.displayHTML
, che è un alias perdisplay.HTML
daipython
. Vedere IPython.display.html.
Magics notebook
Sono abilitati anche i magic del notebook seguenti:
%fs
, che equivale a effettuaredbutils.fs
chiamate. Vedere Combinazioni di lingue.%sh
, che esegue un comando usando il magic%%script
della cella nel computer locale. Questo non esegue il comando nell'area di lavoro remota di Azure Databricks. Vedere Combinazioni di lingue.%md
e%md-sandbox
, che esegue la magia%%markdown
della cella . Vedere Combinazioni di lingue.%sql
, che eseguespark.sql
. Vedere Combinazioni di lingue.%pip
, che viene eseguitopip install
nel computer locale. Questa operazione non viene eseguitapip install
nell'area di lavoro remota di Azure Databricks. Vedere Gestire le librerie con i comandi %pip.%run
, che esegue un altro notebook. Consulta Orchestra i notebook e modularizza il codice nei notebook.Nota
Per abilitare
%run
, è prima necessario installare la libreria nbformat eseguendo il comando seguente nel terminale del computer di sviluppo locale:pip install nbformat
Le funzionalità aggiuntive abilitate includono:
- I dataframe Spark vengono convertiti in dataframe pandas, visualizzati in formato Jupyter table.
Limiti
Le limitazioni dell'esecuzione di celle nei notebook in Visual Studio Code includono:
- I notebook magic
%r
e%scala
non sono supportati e visualizzano un errore se viene chiamato. Vedere Combinazioni di lingue. - La magia
%sql
del notebook non supporta alcuni comandi DML, per esempio Mostra Tables.