Notebookcellen uitvoeren en fouten opsporen met Databricks Connect met behulp van de Databricks-extensie voor Visual Studio Code
U kunt notebooks, één cel tegelijk of alle cellen tegelijk uitvoeren en fouten opsporen en de resultaten ervan bekijken in de Visual Studio Code-gebruikersinterface met behulp van de Databricks-extensie voor Visual Studio Code Databricks Connect-integratie. Alle code wordt lokaal uitgevoerd, terwijl alle code met betrekking tot DataFrame-bewerkingen wordt uitgevoerd op het cluster in de externe Azure Databricks-werkruimte en antwoorden worden teruggestuurd naar de lokale aanroeper. Alle code wordt lokaal opgespoord, terwijl alle Spark-code blijft worden uitgevoerd op het cluster in de externe Azure Databricks-werkruimte. De kerncode van de Spark-engine kan niet rechtstreeks vanuit de client worden opgespoord.
Notitie
Deze functie werkt met Databricks Runtime 13.3 en hoger.
Als u de Databricks Connect-integratie voor notebooks in de Databricks-extensie voor Visual Studio Code wilt inschakelen, moet u Databricks Connect installeren in de Databricks-extensie voor Visual Studio Code. Zie Code voor foutopsporing met behulp van Databricks Connect voor de Databricks-extensie voor Visual Studio Code.
Python-notebookcellen uitvoeren
Voor notebooks met bestandsnamen met een .py
extensie, wanneer u het notitieblok opent in de Visual Studio Code IDE, worden in elke cel de knoppen Cel uitvoeren, Boven uitvoeren en Celopsporing weergegeven. Terwijl u een cel uitvoert, worden de resultaten weergegeven op een afzonderlijk tabblad in de IDE. Tijdens het opsporen van fouten worden in de cel de knoppen Doorgaan, Stoppen en Stap over weergegeven. Als u fouten in een cel opspoort, kunt u de foutopsporingsfuncties van Visual Studio Code gebruiken, zoals het bekijken van de statussen van variabelen en het weergeven van de aanroepstack en de foutopsporingsconsole.
Wanneer u het notebook opent in de Visual Studio Code IDE, bevatten het notebook en de bijbehorende cellen extra functies voor notebooks met bestandsnamen met een .ipynb
extensie. Zie Actieve cellen en werken met codecellen in de Notebook Editor.
Zie Databricks-notebooks exporteren en importeren voor meer informatie over notebookindelingen voor bestandsnamen met de .py
en .ipynb
extensies.
Python Jupyter-noteboookcellen uitvoeren
Een Python Jupyter-notebook uitvoeren of fouten opsporen (.ipynb
):
Open in uw project het Python Jupyter-notebook dat u wilt uitvoeren of fouten wilt opsporen. Zorg ervoor dat het Python-bestand de Jupyter-notebookindeling heeft en de extensie
.ipynb
heeft.Tip
U kunt een nieuw Python Jupyter-notebook maken door de >opdracht Create: New Jupyter Notebook uit te voeren vanuit het opdrachtpalet.
Klik op Alle cellen uitvoeren om alle cellen uit te voeren zonder foutopsporing, Voer cel uit om een afzonderlijke overeenkomende cel uit te voeren zonder foutopsporing of Uitvoeren op regel om een afzonderlijke celregel met beperkte foutopsporing uit te voeren, waarbij variabele waarden worden weergegeven in het deelvenster Jupyter- (Weergave > Weergave openen > Jupyter-).
Voor volledige foutopsporing in een afzonderlijke cel stelt u onderbrekingspunten in en klikt u vervolgens op Foutopsporingscel in het menu naast de knop van de cel uitvoeren.
Nadat u op een van deze opties hebt geklikt, wordt u mogelijk gevraagd ontbrekende Python Jupyter Notebook-pakketafhankelijkheden te installeren. Klik om te installeren.
Zie Jupyter Notebooks in VS Code voor meer informatie.
Globale notitieblokken
De volgende notebook globals zijn ook ingeschakeld:
spark
, die een exemplaar vandatabricks.connect.DatabricksSession
vertegenwoordigt, is vooraf geconfigureerd omDatabricksSession
te instantiëren door azure Databricks-verificatiereferenties op te halen uit de extensie. AlsDatabricksSession
deze instellingen al zijn geïnstantieerd in de code van een notebookcel, worden dezeDatabricksSession
instellingen gebruikt. Zie codevoorbeelden voor Databricks Connect voor Python.udf
, vooraf geconfigureerd als een alias voorpyspark.sql.functions.udf
, een alias voor Python UDF's. Zie pyspark.sql.functions.udf.sql
, vooraf geconfigureerd als een alias voorspark.sql
.spark
, zoals eerder beschreven, vertegenwoordigt een vooraf geconfigureerd exemplaar vandatabricks.connect.DatabricksSession
. Zie Spark SQL.dbutils
, vooraf geconfigureerd als een exemplaar van Databricks Utilities, dat wordt geïmporteerd uitdatabricks-sdk
en wordt geïnstantieerd door azure Databricks-verificatiereferenties op te halen uit de extensie. Zie Databricks Utilities gebruiken.Notitie
Alleen een subset van Databricks Utilities wordt ondersteund voor notebooks met Databricks Connect.
Als u dit wilt inschakelen
dbutils.widgets
, moet u eerst de Databricks SDK voor Python installeren door de volgende opdracht uit te voeren in de terminal van uw lokale ontwikkelcomputer:pip install 'databricks-sdk[notebook]'
display
, vooraf geconfigureerd als een alias voor de Jupyter-ingebouwdeIPython.display.display
. Zie IPython.display.display.displayHTML
, vooraf geconfigureerd als een alias voordbruntime.display.displayHTML
, een alias voordisplay.HTML
waaruitipython
. Zie IPython.display.html.
Notebook magics
De volgende notebook-magics zijn ook ingeschakeld:
%fs
, dat is hetzelfde als het plaatsen vandbutils.fs
oproepen. Zie Mix-talen.%sh
, waarmee een opdracht wordt uitgevoerd met behulp van de celmagie%%script
op de lokale computer. Hiermee wordt de opdracht niet uitgevoerd in de externe Azure Databricks-werkruimte. Zie Mix-talen.%md
en%md-sandbox
, die de cel magic%%markdown
uitvoert . Zie Mix-talen.%sql
, die wordt uitgevoerdspark.sql
. Zie Mix-talen.%pip
, die wordt uitgevoerdpip install
op de lokale computer. Dit wordt niet uitgevoerdpip install
in de externe Azure Databricks-werkruimte. Zie Bibliotheken beheren met %pip-opdrachten.%run
, waarmee een ander notitieblok wordt uitgevoerd. Zie Notebooks organiseren en code modulariseren in notebooks.Notitie
Als u dit wilt inschakelen
%run
, moet u eerst de nbformat-bibliotheek installeren door de volgende opdracht uit te voeren in de terminal van uw lokale ontwikkelcomputer:pip install nbformat
Aanvullende functies die zijn ingeschakeld, zijn onder andere:
- Spark DataFrames worden geconverteerd naar pandas DataFrames, die worden weergegeven in Jupyter-tabelindeling.
Beperkingen
Beperkingen van het uitvoeren van cellen in notebooks in Visual Studio Code zijn:
- De magics van de notebooks
%r
worden%scala
niet ondersteund en er wordt een fout weergegeven als deze wordt aangeroepen. Zie Mix-talen. - De notebook-magic
%sql
biedt geen ondersteuning voor bepaalde DML-opdrachten, zoals Show Tables.