Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Fjärrutveckling finns i Beta.
Med Databricks Remote Development kan du komma åt din arbetsyta och interaktivt köra arbetsbelastningar på Databricks-beräkning från IDE:er med hjälp av en SSH-tunnel. Det är enkelt att konfigurera, eliminerar behovet av miljöhantering och håller all kod och alla data säkra på din Databricks-arbetsyta.
Requirements
För att använda Remote Development för att ansluta till Databricks serverlös eller klassisk datorkraft, måste du ha:
- Databricks CLI version 1.5.0 eller senare installerad på din lokala dator och autentisering har konfigurerats. Se Installera eller uppdatera Databricks CLI.
- Något av följande:
- Visual Studio Code version: 1.110.0 (Universal) eller senare och Remote - SSH-tillägget (1.0.46+) installerat.
- Markörversion: 2.6.11 (universell) eller senare.
Om du vill ansluta till serverlös GPU-beräkning måste FUNKTIONEN AI Runtime vara aktiverad. Se AI Runtime.
Så här ansluter du till klassisk beräkning (dedikerad, enskild användare):
- Beräkningen måste köra Databricks Runtime 17.0 eller senare. Se Översikt över dedikerad beräkning.
- Unity-katalogen måste vara aktiverad.
- Om det finns en beräkningspolicy får den inte förbjuda exekvering av jobb.
- När du använder Databricks Container Services för dedikerad beräkning måste Docker-avbildningen ha
openssh-serverinstallerats.
Ansluta till serverlös beräkning
Om du vill ansluta till serverlös beräkning kör databricks ssh connect du kommandot från en terminal i din IDE. Inget separat konfigurationssteg krävs.
Mer information om kommandot databricks ssh connectfinns i ssh kommandogruppen.
databricks ssh connect
Använd alternativet --accelerator för att ansluta till AI Runtime:
databricks ssh connect --accelerator=GPU_1xA10
databricks ssh connect ger dig en interaktiv session på en enda nod. För långvariga träningsjobb eller distribuerad träning med flera noder ska du i stället skicka arbetsbelastningen med air CLI:t. Se AI Runtime CLI.
När du har anslutit slutför du konfigurationen av utvecklingsmiljön. Se Öppna projekt.
Om du vill ansluta till serverlös beräkning och starta sessionen i Visual Studio Code eller markören använder du alternativet --ide . CLI öppnar ett IDE-fönster som pekar på arbetsytans mapp.
databricks ssh connect --ide=vscode
Ansluta till klassisk beräkning
Om du vill ansluta till klassisk beräkning konfigurerar du först SSH-anslutningen och ansluter sedan med din IDE eller från terminalen.
Konfigurera SSH-anslutningen
Note
Det krävs bara att du konfigurerar SSH-anslutningen om du ansluter till den klassiska beräkningen.
Konfigurera först SSH-tunneln med hjälp av konfigurationskommandot för databricks ssh . Ange ett namn för anslutningen, till exempel ersätt <connection-name> med my-connection:
databricks ssh setup --name <connection-name>
CLI uppmanar dig att välja ett kluster. Du kan också ange en direkt med --cluster <cluster-id>:
databricks ssh setup --name <connection-name> --cluster <cluster-id>
Note
För IntelliJ-användare rekommenderar Databricks att du lägger --auto-start-cluster=false till i installationskommandot och startar klustret manuellt innan du ansluter. Det beror på att JetBrains IDE:er startar alla konfigurerade kluster vid lansering, vilket kan resultera i oväntade databehandlingskostnader.
Ansluta med hjälp av Visual Studio Code eller Cursor
Installera Remote SSH-tillägget för Visual Studio Code. Markören innehåller ett SSH-fjärrtillägg som standard.
I huvudmenyn för IDE klickar du på Visa>kommandopalett. Välj Fjärr-SSH: Inställningar. Du kan också välja Inställningar: Öppna användarinställningar (JSON) för att ändra
settings.jsondirekt.Under Remote.SSH: Standardtillägg (eller
remote.SSH.defaultExtensionsisettings.json) lägger du tillms-Python.Pythonochms-toolsai.jupyter.Om du ändrar
settings.json:"remote.SSH.defaultExtensions": [ "ms-Python.Python", "ms-toolsai.jupyter" ]Note
Du kan också öka värdet för Remote.SSH: Connect Timeout (eller
remote.SSH.connectTimeoutisettings.json) för att ytterligare minska risken för timeout-fel. Standardtimeouten är 360.I kommandopaletten väljer du Fjärr-SSH: Anslut till värd.
I den nedrullningsbara menyn väljer du den anslutning som du konfigurerade i det första steget. IDE fortsätter att ansluta i ett nytt fönster.
Ansluta med IntelliJ-IDE:er
- Följ Fjärrservertutorial för att komma igång.
- På den nya anslutningsskärmen anger du:
-
Användarnamn:
root -
Värd:
<connection-name>
-
Användarnamn:
Ansluta med terminalen
ssh <connection-name>
Öppna projekt
Som standard öppnas kommandot databricks ssh connect i en temporär katalog. Om du vill komma åt arbetsytefiler går du till arbetsytekatalogen från IDE eller terminalen:
- I Visual Studio Code eller markören går du till kommandopaletten (Cmd/Ctrl+Skift+P) väljer Öppna mapp och navigerar till
/Workspace/Users/<your-username>. - Ändra katalogen från ett terminalfönster:
cd /Workspace/Users/<your-username>.
Note
Filer i /Workspace, /Volumesoch /dbfs sparas mellan klusteromstarter. Filer i /home, /rootoch andra lokala sökvägar är tillfälliga och förlorade vid omstart.
Kör kod (Visual Studio Code eller markör)
Om du vill köra kod med fjärrutveckling måste den virtuella Databricks-miljön konfigureras. Den här miljön innehåller alla inbyggda DBR-bibliotek och bibliotek med beräkningsomfång.
Öppna kommandopaletten (Cmd/Ctrl+Skift+P) och välj Python: Välj tolk.
Välj den
pythonEnv-xxxvirtuella miljön i listan. Om det inte visas:Kör
echo $DATABRICKS_VIRTUAL_ENVfrån en terminal i IDE.Exempel på utdata:
/local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/pythonKlistra in de fullständiga utdata som tolksökväg i Python: Välj tolkprompt.
Öppna en ny terminal och den virtuella miljön ska aktiveras automatiskt.
Om du vill köra en Jupyter-notebook-fil kontrollerar du att den virtuella miljön har valts som kernel. Klicka på Välj kernel längst upp till höger i anteckningsboken.
Kör och felsöka Python filer och .ipynb notebook-filer med standardtilläggen Python och Jupyter.
Om du vill använda Spark i en Python fil på serverlös beräkning initierar du en session explicit:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()
Hantera Python-beroenden
Hantera Python-beroenden globalt på klusternivå eller avgränsade till enskilda projekt med hjälp av anteckningsböcker.
Klusterbibliotek (rekommenderas)
Installera beroenden via arbetsytans användargränssnitt under Beräkningsbibliotek>. Dessa bevaras mellan klusteromstarter och är tillgängliga i pythonEnv-xxx. Se Klusterbibliotek.
Installation av projektanpassad anteckningsbok
För beroenden med projektomfattning kör du en notebook-fil som innehåller %pip install kommandon i början av varje session:
# Install from pyproject.toml
%pip install .
# Install from a requirements file
%pip install -r requirements.txt
# Install a wheel from Volumes or Workspace
%pip install /Volumes/catalog/schema/volume/your_library.whl
%pip kommandon inkluderar Databricks-specifika skyddsräcken och sprider beroenden till Spark-körnoder. Detta möjliggör användardefinierade funktioner (UDF: er) med anpassade beroenden.
Fler exempel finns i Hantera bibliotek med %pip kommandon.
Du behöver inte köra anteckningsboken igen om sessionen återansluts inom 10 minuter. Detta kan konfigureras med hjälp av -shutdown-delay i SSH-konfigurationen.
Note
Flera SSH-sessioner i samma kluster delar en virtuell miljö.
Limitations
Databricks Remote Development har följande begränsningar:
- Delade kluster stöds inte.
- Databricks-tillägget för Visual Studio Code och fjärrutveckling är ännu inte kompatibelt och bör inte användas tillsammans.
- Filer som redigeras utanför
/Workspace,/Volumesoch/dbfsgår förlorade vid omstart av kluster. - Högst 10 SSH-anslutningar tillåts per kluster.
- Inaktiva sessioner kan kopplas ned efter 1 timme.
- Fjärrutveckling kan inte startas från andra fjärrmiljöer eller Docker-containrar.
- Du kan stöta på prestanda- eller anslutningsproblem när tre eller fler Jupyter-notebook-filer är öppna samtidigt. Den här begränsningen kommer att åtgärdas i en framtida version.
Skillnader i Databricks Notebooks
Det finns vissa skillnader i notebook-filer när du använder Fjärrutveckling:
- Python-filer definierar inte några Databricks-globaler (som
sparkellerdbutils). Du måste importera dem explicit medfrom databricks.sdk.runtime import spark. - För ipynb-anteckningsböcker är dessa funktioner tillgängliga:
- Databricks globals:
display,displayHTML,dbutils,table,sql,udf,getArgument, ,sc, ,sqlContextspark -
%sqlmagiskt kommando för att köra SQL-celler
- Databricks globals:
Så här arbetar du med "notebooks" i Python-källkod:
Sök
jupyter.interactiveWindow.cellMarker.codeRegexefter och ställ in den på:^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])Sök
jupyter.interactiveWindow.cellMarker.defaultefter och ställ in den på:# COMMAND ----------
Troubleshooting
Det här avsnittet innehåller information om hur du löser vanliga problem.
SSH-anslutningen misslyckas eller överskrider tidsgränsen
- Kontrollera att klustret körs i arbetsytans användargränssnitt.
- Kontrollera att utgående port 22 är öppen och tillåten på din bärbara dator, nätverk och VPN.
- Öka SSH-tidsgränsen. Se Ansluta med Visual Studio Code eller Cursor.
- För felmatchningar av nycklar, ta bort
~/.databricks/ssh-tunnel-keysoch kördatabricks ssh setupom. - Om felen "fjärrvärdsidentifiering har ändrats" kontrollera
~/.ssh/known_hosts-filen och ta bort poster som är relaterade till klustret. - SSH-sessioner kan släppas efter 1 timme och högst 10 SSH-anslutningar kan göras till ett enda kluster. Se Begränsningar.
Det gick inte att hitta kommandot code
Om du ser Error: exec: "code": executable file not found in $PATHöppnar du kommandopaletten (Cmd/Ctrl+Skift+P), väljer Kommandot Shell: Installera kommandot "code" i PATH och startar om IDE-sessionen eller terminalsessionen.
CLI-autentiseringsfel
- Bekräfta att din Databricks CLI-profil är giltig med .
databricks auth login - Bekräfta att du har
CAN MANAGEbehörigheter för klustret.
Min kod fungerar inte
- Se till att du har konfigurerat den virtuella Databricks-miljön, se Kör kod (Visual Studio Code eller markör)
- IPYNB-notebook-filer och
*.pyDatabricks-notebook-filer har åtkomst till Databricks-globaler, men*.pypython-filer har det inte. Se Skillnader i Databricks Notebooks.
Filer försvinner eller miljön återställs efter omstart av klustret
- Filer i
/Workspace,/Volumesoch/dbfsmonteringar bevaras mellan klusteromstarter. Filer i/home,/rootoch andra lokala sökvägar är tillfälliga och förlorade vid omstart. - Använd klusterbibliotekshantering för beständiga beroenden. Automatisera ominstallationer med init-skript om det behövs. Se Vad är init-skript?.
SSH-installationen misslyckas på Windows (WSL)
Kör databricks ssh setup direkt på Windows, inte inom WSL. Den Windows Visual Studio Code instansen kan inte hitta SSH-konfigurationer som skapats på WSL-sidan.
Vanliga frågor och svar
Hur skiljer sig fjärrutveckling från Databricks Connect?
Med Databricks Connect kan du skriva kod med spark-API:er och köra dem via fjärranslutning på Databricks-beräkning i stället för i den lokala Spark-sessionen. Databricks Visual Studio Code-tillägget använder Databricks Connect för att tillhandahålla inbyggd felsökning av användarkod på Databricks.
Fjärrutveckling ger dig åtkomst till arbetsytan via din IDE och flyttar hela utvecklingsmiljön till beräkningsresursen – Python, kärnan och all körning sker på Databricks med full åtkomst till beräkningsresurser.
Hur skyddas min kod och mina data?
All kod körs i databricks cloud VPC. Inga data eller kod lämnar din säkra miljö. SSH-trafiken är helt krypterad.
Vilka IDE:er stöds?
Visual Studio Code och Markören stöds officiellt. Alla IDE-funktioner med SSH är kompatibla, men endast VS Code och Cursor testas.
Är alla databricks notebook-funktioner tillgängliga från IDE?
Vissa funktioner som display(), dbutilsoch %sql är tillgängliga med begränsningar eller manuell konfiguration. Se Skillnader i Databricks Notebooks.
Startar mitt kluster automatiskt när jag ansluter med SSH-tunneln?
Ja, men om det tar längre tid att starta klustret än tidsgränsen för anslutningen misslyckas anslutningsförsöket. För att förhindra detta ökar du värdet för Remote.SSH: Connect Timeout från kommandopaletten (eller remote.SSH.connectTimeout i settings.json) för att ytterligare minska risken för timeout-fel.
Hur vet jag om mitt kluster körs?
Gå till Beräkning i databricks-arbetsytans användargränssnitt och kontrollera statusen för klustret. Klustret måste visa Kör för att SSH-anslutningen ska fungera.
Hur kopplar jag från min SSH/IDE-session?
Du kan koppla från en session genom att stänga IDE-fönstret med alternativet Koppla från i din IDE, stänga SSH-terminalen eller köra exit kommandot i terminalen.
Hur stoppar jag klustret och undviker avgifter när jag inte arbetar?
Avsluta klustret från arbetsytans användargränssnitt om du vill sluta omedelbart. Gå till Beräkning i användargränssnittet för Databricks-arbetsytan, leta reda på klustret och klicka på Avsluta eller Stoppa.
Ange en kort princip för automatisk avslutning i klustret från arbetsytans användargränssnitt. När du har kopplat bort väntar SSH-servern under shutdown-delay perioden (standard: 10 minuter), och därefter tillämpas klustrets tidsgräns för inaktivitet.
Hur ska jag hantera beständiga beroenden?
Beroenden som installeras under en session går förlorade efter omstart av klustret. Använd beständig lagring (/Workspace/Users/<your-username>) för krav och konfigurationsskript. Använd klusterbibliotek eller init-skript för automatisering.
Vilka autentiseringsmetoder stöds?
Autentiseringen använder Databricks CLI och profilfilen ~/.databrickscfg . SSH-nycklar hanteras av Databricks Remote Development.
Kan jag ansluta till externa databaser eller tjänster från klustret?
Ja, så länge klustrets nätverk tillåter utgående anslutningar och du har de bibliotek som krävs.
Kan jag använda ytterligare IDE-tillägg?
De flesta tillägg fungerar när de installeras i din fjärranslutna SSH-session, beroende på din IDE och ditt kluster. Visual Studio Code installerar som standard inte lokala tillägg på fjärrvärdar. Du kan installera dem manuellt genom att öppna tilläggspanelen och aktivera dina lokala tillägg på fjärrvärden. Du kan också konfigurera Visual Studio Code för att alltid installera vissa tillägg via fjärranslutning. Se Ansluta till Databricks.
Stöder fjärrutveckling Private Link?
Ja, men arbetsyteadministratörer måste tillåtalist-URL:er för marknadsplatser för Visual Studio Code- och markörtillägg. Din lokala dator måste också ha möjlighet att komma åt Internet.