Share via


Felsöka kod med hjälp av Databricks Anslut för Databricks-tillägget för Visual Studio Code

I den här artikeln beskrivs hur du felsöker kod med hjälp av Databricks Anslut integrering i Databricks-tillägget för Visual Studio Code. Se Vad är Databricks-tillägget för Visual Studio Code?.

Den här informationen förutsätter att du redan har installerat och konfigurerat Databricks-tillägget för Visual Studio Code. Se Installera Databricks-tillägget för Visual Studio Code.

Kommentar

Den här funktionen är Experimentell.

Databricks Anslut integrering i Databricks-tillägget för Visual Studio Code stöder endast en del av Databricks-klientens enhetliga autentiseringsstandard. Mer information finns i Autentiseringskonfiguration för Databricks-tillägget för VS Code.

Databricks-tillägget för Visual Studio Code innehåller Databricks Anslut. Du kan använda Databricks Anslut inifrån Databricks-tillägget för Visual Studio Code för att köra och utföra stegvis felsökning av enskilda Python-filer (.py) och Python Jupyter Notebooks (.ipynb). Databricks-tillägget för Visual Studio Code innehåller Databricks Anslut för Databricks Runtime 13.0 och senare. Tidigare versioner av Databricks Anslut stöds inte.

Krav

Innan du kan använda Databricks Anslut inifrån Databricks-tillägget för Visual Studio Code måste du först uppfylla kraven för Databricks Anslut. Dessa krav omfattar saker som en arbetsyta som är aktiverad med Unity Catalog, ett kluster som kör Databricks Runtime 13.0 eller senare och med ett klusteråtkomstläge för enskild användare eller delad och en lokal version av Python installerad med dess större och mindre versioner som matchar python-versionerna som är installerade i klustret.

Steg 1: Skapa en virtuell Python-miljö

Skapa och aktivera en virtuell Python-miljö för python-kodprojektet. Virtuella Python-miljöer hjälper dig att se till att kodprojektet använder kompatibla versioner av Python- och Python-paket (i det här fallet Databricks-Anslut-paketet). Anvisningarna och exemplen i den här artikeln använder venv eller poesi för virtuella Python-miljöer. Databricks har inte testat Databricks-Anslut-paketet fullt ut med andra typer av virtuella Python-miljöer, till exempel Conda.

Skapa en virtuell Python-miljö med hjälp av venv

  1. Från Visual Studio Code-terminalen (Visa > terminal) inställd på rotkatalogen för python-kodprojektet instruerar du venv att använda Python för den virtuella miljön och skapar sedan den virtuella miljöns stödfiler i en dold katalog med namnet .venv i rotkatalogen i Python-kodprojektet genom att köra följande kommando:

    # Linux and macOS
    python3.10 -m venv ./.venv
    # Windows
    python3.10 -m venv .\.venv
    

    Föregående kommando använder Python 3.10, som matchar huvudversionen och delversionen av Python som Databricks Runtime 13.0 använder. Se till att använda huvudversionen och delversionen av Python som matchar klustrets installerade version av Python.

  2. Om Visual Studio Code visar meddelandet "Vi har märkt att en ny miljö har skapats. Vill du markera den för arbetsytemappen", klickar du på Ja.

  3. Använd venv för att aktivera den virtuella miljön. Se venv-dokumentationen för rätt kommando att använda, baserat på ditt operativsystem och din terminaltyp. Till exempel på macOS som kör zsh:

    source ./.venv/bin/activate
    

    Du vet att din virtuella miljö aktiveras när den virtuella miljöns namn (till exempel .venv) visas inom parenteser precis före terminalprompten.

    Om du vill inaktivera den virtuella miljön när som helst kör du kommandot deactivate.

    Du vet att den virtuella miljön inaktiveras när den virtuella miljöns namn inte längre visas inom parenteser precis före terminalprompten.

Gå vidare till Steg 2: Uppdatera Python-koden för att upprätta en felsökningskontext.

Skapa en virtuell Python-miljö med poesi

  1. Installera Poetry, om du inte redan har gjort det.

  2. Från Visual Studio Code-terminalen (Visa > terminal) till rotkatalogen för ditt befintliga Python-kodprojekt instruerar du poetry dig att initiera Python-kodprojektet för Poetry genom att köra följande kommando:

    poetry init
    
  3. Poesi visar flera uppmaningar som du kan slutföra. Ingen av dessa uppmaningar är specifika för Databricks-tillägget för Visual Studio Code eller Databricks Anslut. Information om dessa frågor finns i init.

  4. När du har slutfört anvisningarna lägger Poetry till en pyproject.toml fil i Python-projektet. Information om filen finns i pyproject.toml filen pyproject.toml.

  5. Med Visual Studio Code-terminalen fortfarande inställd på rotkatalogen för python-kodprojektet instruerar du poetry att läsa pyproject.toml filen, lösa beroendena och installera dem, skapa en poetry.lock fil för att låsa beroendena och slutligen skapa en virtuell miljö. Gör detta genom att köra följande kommando:

    poetry install
    
  6. Instruera Visual Studio Code att använda Python-tolken som ingår i den virtuella miljön för det här Python-projektet enligt följande:

    1. Hitta den fullständiga sökvägen till Python-tolken som finns i den virtuella miljön för det här Python-projektet genom att köra följande kommando från projektets rotkatalog:

      poetry env info
      
    2. Kopiera den fullständiga sökvägen som visas i Virtualenv > Executable fältets utdata, till exempel den fullständiga sökvägen som innehåller pypoetry/virtualenvs.

    3. I kommandopaletten (visa > kommandopaletten) anger du kommandot >Python: Select Interpreter.

    4. Ange den fullständiga sökvägen till Python-tolken som du precis kopierade.

  7. Med Visual Studio Code-terminalen fortfarande inställd på rotkatalogen för python-kodprojektet instruerar du poetry att aktivera den virtuella miljön och ange gränssnittet. Gör detta genom att köra följande kommando:

    poetry shell
    

    Du vet att den virtuella miljön är aktiverad och gränssnittet anges när namnet på den virtuella miljön visas inom parenteser precis före terminalprompten.

    Om du vill inaktivera den virtuella miljön och avsluta gränssnittet när som helst kör du kommandot exit.

    Du vet att du har avslutat gränssnittet när den virtuella miljöns namn inte längre visas inom parenteser precis före terminalprompten.

    Mer information om hur du skapar och hanterar virtuella poesimiljöer finns i Hantera miljöer.

Steg 2: Uppdatera Python-koden för att upprätta en felsökningskontext

För att upprätta en felsökningskontext mellan Databricks Anslut och klustret måste Python-koden initiera DatabricksSession klassen genom att anropa DatabricksSession.builder.getOrCreate().

Observera att du inte behöver ange inställningar som arbetsytans instansnamn, en åtkomsttoken eller klustrets ID och portnummer när du initierar DatabricksSession klassen. Databricks Anslut hämtar den här informationen från konfigurationsinformationen som du redan angav via Databricks-tillägget för Visual Studio Code tidigare i den här artikeln.

Mer information om hur du initierar DatabricksSession klassen finns i Databricks Anslut kodexempel.

Viktigt!

Om du använder Databricks-tillägget för Visual Studio Code för att ange autentiseringstypen till personliga åtkomsttoken anger tillägget en relaterad SPARK_REMOTE miljövariabel med felsökning av kontextinställningar för användning av Databricks Anslut. De här felsökningskontextinställningarna omfattar det relaterade arbetsytans instansnamn, personlig åtkomsttoken och kluster-ID.

I Databricks Anslut kan du använda DatabricksSession klassen eller SparkSession tillsammans med SPARK_REMOTE och personlig åtkomsttokenautentisering för att snabbt och enkelt upprätta felsökningskontexten programmatiskt. För andra Azure Databricks-autentiseringstyper som stöds kan du bara DatabricksSession använda klassen för att upprätta felsökningskontexten.

Mer information finns i Konfigurera klienten i dokumentationen för Databricks Anslut.

Steg 3: Aktivera Databricks Anslut

När tillägget har öppnats och avsnittet Arbetsyta har konfigurerats för kodprojektet gör du följande:

  1. Klicka på den röda databricks-knappen Anslut inaktiverad i statusfältet i Visual Studio Code.

  2. Om avsnittet Kluster inte redan har konfigurerats i tillägget visas följande meddelande: "Bifoga ett kluster för att använda Databricks Anslut." Klicka på Bifoga kluster och välj ett kluster som uppfyller kraven för Databricks Anslut.

  3. Om avsnittet Kluster är konfigurerat men klustret inte är kompatibelt med Databricks Anslut klickar du på den röda databricks-knappen Anslut inaktiverad, klickar på Anslut kluster och väljer ett kompatibelt kluster.

  4. Om Databricks-Anslut -paketet (och dess beroenden) inte redan är installerade visas följande meddelande: "För interaktiv felsökning och automatisk komplettering behöver du Databricks Anslut. Vill du installera den i miljön <environment-name>. Klicka på Installera.

  5. I statusfältet i Visual Studio Code visas knappen Databricks Anslut aktiverat.

    Om den röda databricks-knappen Anslut inaktiverad fortfarande visas klickar du på den och slutför anvisningarna på skärmen för att få knappen Databricks Anslut aktiverad att visas.

  6. När knappen Databricks Anslut aktiverad visas är du nu redo att använda Databricks Anslut.

Kommentar

Du behöver inte konfigurera avsnittet Synkroniseringsmål för tillägget för att kodprojektet ska kunna använda Databricks Anslut.

Om du använder Poesi kan du synkronisera dina pyproject.toml filer och poetry.lock med det installerade Databricks-Anslut-paketet (och dess beroenden) genom att köra följande kommando. Ersätt 13.3.2 med versionen av Databricks Anslut-paketet som matchar det som installerades av Databricks-tillägget för Visual Studio Code för projektet.

poetry add databricks-connect==13.3.2

Steg 4: Kör eller felsöka Python-koden

När du har aktiverat Databricks Anslut för kodprojektet kör eller felsöker du Python-filen eller notebook-filen på följande sätt.

Så här kör eller felsöker du en Python-fil (.py):

  1. Öppna den Python-fil som du vill köra eller felsöka i kodprojektet.

  2. Ange eventuella felsöknings brytpunkter i Python-filen.

  3. I filredigerarens namnlist klickar du på listrutepilen bredvid uppspelningsikonen (Kör eller Felsöka). I listrutan väljer du Sedan Felsöka Python-fil. Det här valet stöder stegvis felsökning, brytpunkter, klockuttryck, anropsstackar och liknande funktioner. Det här valet använder Databricks Anslut för att köra Python-kod lokalt, köra PySpark-kod på klustret på fjärrarbetsytan och skicka fjärrsvar tillbaka till Visual Studio Code för lokal felsökning.

    Kommentar

    Andra alternativ, som inte stöder felsökning, är:

    • Kör Python-fil för att använda Databricks Anslut för att köra filen eller notebook-filen, men utan felsökningsstöd. Det här valet skickar filen till fjärrarbetsytan, kör filens Python- och PySpark-kod på fjärrklustret på arbetsytan och skickar fjärrsvaret till Visual Studio Code-terminalen.
    • Ladda upp och kör filen på Databricks för att skicka filen till fjärrarbetsytan, kör filens Python- och PySpark-kod på fjärrklustret på arbetsytan och skickar fjärrsvaret till Visual Studio Code-terminalen. Det här valet använder inte Databricks Anslut.
    • Kör Fil som arbetsflöde på Databricks för att skicka filen till fjärrarbetsytan, kör filens Python- och PySpark-kod i klustret som är associerat med ett automatiserat Azure Databricks-jobb och skicka resultatet till en redigerare i Visual Studio Code. Det här valet använder inte Databricks Anslut.

    Kör file on Databricks editor command 0

    Alternativet Kör aktuell fil i interaktivt fönster , om det är tillgängligt, försöker köra filen lokalt i en särskild interaktiv Visual Studio Code-redigerare. Databricks rekommenderar inte det här alternativet.

Så här kör eller felsöker du en Python Jupyter-notebook-fil (.ipynb):

  1. Öppna den Python Jupyter-notebook-fil som du vill köra eller felsöka i kodprojektet. Kontrollera att Python-filen är i Jupyter Notebook-format och har tillägget .ipynb.

    Dricks

    Du kan skapa en ny Python Jupyter-anteckningsbok genom att >köra kommandot Skapa: Ny Jupyter Notebook från kommandopaletten.

  2. Klicka på Kör alla celler för att köra alla celler utan felsökning, Kör cell för att köra en enskild motsvarande cell utan felsökning eller Kör efter rad för att köra en enskild cell rad för rad med begränsad felsökning, med variabelvärden som visas i Jupyter-panelen (Visa > Öppen vy > Jupyter).

    För fullständig felsökning i en enskild cell anger du brytpunkter och klickar sedan på Felsök cell på menyn bredvid cellens kör-knapp .

    När du har klickat på något av de här alternativen kan du uppmanas att installera python Jupyter-paketberoenden som saknas. Klicka för att installera.

    Mer information finns i Jupyter Notebooks i VS Code.