Condividi tramite


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):

  1. 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.

  2. 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 di databricks.connect.DatabricksSession, è preconfigurata per istanziare DatabricksSession ottenendo l'autenticazione credentials di Azure Databricks dall'estensione. Se DatabricksSession è già stata creata un'istanza nel codice di una cella del notebook, queste DatabricksSession impostazioni vengono invece usate. Vedere Esempi di codice per Databricks Connect per Python.

  • udf, preconfigurato come alias per pyspark.sql.functions.udf, che è un alias per le funzioni definite dall'utente Python. Vedere pyspark.sql.functions.udf.

  • sql, preconfigurato come alias per spark.sql. spark, come descritto in precedenza, rappresenta un'istanza preconfigurata di databricks.connect.DatabricksSession. Vedere Spark SQL.

  • dbutils, preconfigurato come istanza di Databricks Utilities, che viene importata da databricks-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 builtin IPython.display.display. Vedere IPython.display.display.

  • displayHTML, preconfigurato come alias per dbruntime.display.displayHTML, che è un alias per display.HTML da ipython. Vedere IPython.display.html.

Magics notebook

Sono abilitati anche i magic del notebook seguenti:

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.