Verbinding maken met Databricks met behulp van een SSH-tunnel

Belangrijk

Deze functie bevindt zich in de bètaversie.

Kosten en prijzen voor functies in Beta kunnen veranderen.

De Azure Databricks SSH (Secure Shell) tunnel verbindt Visual Studio Code, Cursor of je terminal met de Azure Databricks workspace en Azure Databricks serverless compute, AI Runtime of classic compute. Gebruik het om workspacebestanden te bewerken en Python-scripts en notebooks uit te voeren of te debuggen, met je Python-omgeving en code-uitvoering op de externe compute. Maak direct verbinding met serverless compute, of zet een herbruikbare SSH-verbinding op naar een dedicated classic cluster.

Requirements

Start de SSH-verbinding vanaf je lokale machine. De tunnel kan niet worden gestart vanuit een andere remote omgeving of een Docker-container.

Om verbinding te maken met serverless of klassieke compute, moet je het volgende hebben:

  • Databricks CLI versie 1.5.0 of hoger geïnstalleerd op uw lokale computer en verificatie geconfigureerd. Controleer uw geïnstalleerde versie met databricks --version. Zie De Databricks CLI installeren of bijwerken.
  • Een van de volgende opties:
    • Visual Studio Code versie 1.110.0 (Universal) of hoger en de Remote - SSH-extensie (1.0.46+) zijn geïnstalleerd.
    • Cursor versie 2.6.11 (Universal) of hoger.

Als u verbinding wilt maken met serverloze GPU-rekenkracht, moet de AI Runtime-functie zijn ingeschakeld. Zie AI Runtime.

Aanvullende vereisten voor klassieke compute

Verbinding maken met klassieke (toegewezen, individuele gebruikers) rekenkracht:

Kies een SSH-verbinding

Gebruik de verbindingsmethode voor je computetype:

Compute Verbindingsmethode Installatievereiste
Serverloze rekenkracht databricks ssh connect Geen aparte SSH-installatiestap.
Voeg --ide vscode of --ide cursor toe om een IDE te starten.
AI-uitvoeringstijd databricks ssh connect --accelerator <accelerator> Geen aparte SSH-installatiestap.
Voeg --ide vscode of --ide cursor toe om een IDE te starten.
Zie --accelerator voor ondersteunde versnellers.
Klassieke toegewijde rekenkracht voor één gebruiker Voer databricks ssh setup --name <connection-name> deze uit in uw terminal.
Start dan de SSH-sessie vanuit de IDE of voer ssh <connection-name> uit.
Kies een toegewijde, single-user cluster die voldoet aan de klassieke rekenvereisten.
Gedeelde clusters worden niet ondersteund.

De SSH-tunnel en de Databricks IDE-extensie zijn niet compatibel en mogen niet samen worden gebruikt. Voor een vergelijking met Databricks Connect en andere ontwikkelopties, zie Verbinding maken vanuit je IDE.

Verbinding maken met serverloze rekencapaciteit

Als je aan bovenstaande eisen voldoet, voer je databricks ssh connect uit vanaf je terminal of IDE.

De --ide waarde selecteert de te openen editor, ongeacht van welke editor of terminal je het commando uitvoert.

Visual Studio code

databricks ssh connect --ide vscode

De CLI opent een Visual Studio Code-venster dat verbonden is met de externe compute-omgeving.

Cursor

databricks ssh connect --ide cursor

De CLI opent een Cursor-venster dat verbonden is met de externe compute-omgeving.

Terminal

databricks ssh connect

De CLI start een interactieve SSH-sessie.

Voor commando-opties, inclusief benoemde verbindingen en authenticatieprofielen, zie databricks ssh connect.

Na het verbinden open je je werkruimteproject en selecteer je de Python-omgeving. Als de verbinding faalt, raadpleeg Troubleshoot SSH tunnel connections.

Maak verbinding met serverless GPU-rekenkracht via AI Runtime

Met AI Runtime ingeschakeld, voeg --accelerator toe om GPU-berekening te gebruiken:

databricks ssh connect --accelerator GPU_1xA10

databricks ssh connect geeft u een interactieve sessie op één knooppunt. Voor langlopende trainingstaken of gedistribueerde training op meerdere knooppunten dient u de werklast in plaats daarvan in met databricks air. Zie Gebruik de Databricks CLI met AI Runtime.

Verbinding maken met klassieke compute

Voor een herbruikbare verbinding met een klassieke dedicated cluster, stel je een SSH-hostnaam in en selecteer je die host in je IDE of maak je verbinding vanaf een terminal.

De SSH-verbinding instellen

Opmerking

Het instellen van de SSH-verbinding is alleen vereist als u verbinding maakt met klassieke berekeningen.

Voer databricks ssh setup uit op je lokale machine. Vervang <connection-name> door een naam voor deze verbinding, zoals my-connection:

databricks ssh setup --name <connection-name>

De CLI vraagt je een cluster te selecteren en voegt een hostinvoer toe aan je SSH-configuratie. Je kunt ook direct een cluster selecteren. Vervang <cluster-id> door de ID van je dedicated cluster:

databricks ssh setup --name <connection-name> --cluster <cluster-id>

Om te configureren hoe lang de SSH-tunnel wacht nadat de laatste client de verbinding heeft verbroken, voeg --shutdown-delay toe aan het setup-commando. De standaardwaarde is 10 minuten. Bijvoorbeeld, om een vertraging van 30 minuten in te stellen voor verbindingen via deze SSH-hostinvoer:

databricks ssh setup --name <connection-name> --cluster <cluster-id> --shutdown-delay 30m

Opmerking

Voor IntelliJ-gebruikers raadt Databricks aan om --auto-start-cluster=false toe te voegen aan de installatieopdracht en het cluster handmatig te starten voordat u verbinding maakt. Dit komt doordat JetBrains IDE's alle geconfigureerde clusters starten bij het starten, wat kan leiden tot onverwachte rekenkosten.

Verbinding maken met Visual Studio Code of Cursor

  1. Installeer voor Visual Studio Code de externe SSH-extensie. Cursor bevat standaard een externe SSH-extensie.

  2. Klik in het hoofdmenu van IDE opOpdrachtpalet>. Selecteer Remote-SSH: Instellingen. U kunt ook Voorkeuren selecteren: Gebruikersinstellingen (JSON) openen om rechtstreeks te wijzigen settings.json .

  3. Onder Remote.SSH: Standaardextensies (of remote.SSH.defaultExtensions in settings.json), voeg ms-Python.Python en ms-toolsai.jupyter toe.

    Als u het volgende wijzigt settings.json:

    "remote.SSH.defaultExtensions": [
        "ms-Python.Python",
        "ms-toolsai.jupyter"
    ]
    

    Opmerking

    Verhoog eventueel de waarde van Remote.SSH: Connect Timeout (of remote.SSH.connectTimeout in settings.json) om de kans op time-outfouten verder te verminderen. De standaardtime-out is 360.

  4. Selecteer in het opdrachtpalet de optie Remote-SSH: Verbinding maken met host.

  5. Selecteer in de vervolgkeuzelijst de verbinding die u in de eerste stap hebt ingesteld. De IDE gaat verbinding maken in een nieuw venster.

Verbinding maken met intelliJ IDE's

  1. Volg de zelfstudie over de externe server om de installatie uit te voeren.
  2. Voer in het nieuwe verbindingsscherm het volgende in:
    • Gebruikersnaam: root
    • Host: <connection-name>

Verbind met classic compute vanaf een terminal

Gebruik de verbindingsnaam die je hebt geconfigureerd met databricks ssh setup:

ssh <connection-name>

Voor een directe verbinding zonder een herbruikbare SSH-hostinvoer kun je ook de CLI gebruiken. Vervang <cluster-id> door je dedicated cluster ID:

databricks ssh connect --cluster <cluster-id>

Zie databricks ssh connect.

Open werkruimteprojecten via SSH

Standaard wordt de opdracht databricks ssh connect geopend in een tijdelijke map. Als u toegang wilt krijgen tot werkruimtebestanden, gaat u vanuit de IDE of terminal naar uw werkruimtemap:

  • Kies in Visual Studio Code of Cursor in het Opdrachtpalet (Cmd/Ctrl+Shift+P) Map openen en navigeer naar /Workspace/Users/<your-username>.
  • Wijzig uw map vanuit een terminalvenster: cd /Workspace/Users/<your-username>.

Opmerking

Bestanden in /Workspace, /Volumesen /dbfs blijven behouden tijdens het opnieuw opstarten van het cluster. Bestanden in /home, /rooten andere lokale paden zijn kortstondig en verloren bij opnieuw opstarten.

Voer Python en notebooks uit in de SSH-sessie

Selecteer de Python-omgeving die door je SSH-sessie wordt geleverd voordat je code uitvoert. Voor klassieke compute omvat deze omgeving de ingebouwde Databricks Runtime-bibliotheken en compute-scoped libraries.

  1. Open het opdrachtenpalet (Cmd/Ctrl+Shift+P) en selecteer Python: Interpreter selecteren.

  2. Selecteer de pythonEnv-xxx virtuele omgeving in de lijst. Als u Python afhankelijkheden instelt met behulp van de --base-environment vlag, selecteert u de langere naam van de virtuele omgeving in de lijst met opties. Als de virtuele omgeving niet wordt weergegeven:

    1. Uitvoeren echo $DATABRICKS_VIRTUAL_ENV vanuit een terminal in de IDE.

      Voorbeelduitvoer: /local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/python

    2. Plak de volledige uitvoer als interpreterpad in de prompt Python: Select Interpreter.

  3. Open een nieuwe terminal en de virtuele omgeving moet automatisch worden geactiveerd.

  4. Als u een Jupyter-notebook wilt uitvoeren, moet u ervoor zorgen dat de virtuele omgeving is geselecteerd als de kernel. Klik op Kernel selecteren in de rechterbovenhoek van het notitieblok.

Voer Python-bestanden en .ipynb notebooks uit en debug deze met de standaardextensies voor Python en Jupyter.

Als u Spark wilt gebruiken in een Python-bestand op serverloze compute, initialiseert u een sessie expliciet:

from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()

Beheer afhankelijkheden voor SSH-sessies

Kies afhankelijkheidsbeheer voor je computetype:

  • Voor serverless compute gebruik je een werkruimtebasisomgeving met een ondersteunde serverless omgevingsversie.
  • Voor klassieke compute gebruik je clusterbibliotheken voor afhankelijkheden die blijven bestaan tijdens herstarts.
  • Voor afhankelijkheden die zijn beperkt tot een projectsessie, gebruik een setup-notebook.

Voor niet-Python-pakketten, zie Niet-Python-afhankelijkheden.

Basisomgevingen voor werkruimten (aanbevolen voor serverloze en AI Runtime)

Opmerking

Voor deze functie is vereist dat de preview van ondersteuning voor de basisomgeving van serverloze werkruimten in Jobs is ingeschakeld. Zie Azure Databricks previews beheren.

Gebruik een werkruimtebasisomgeving met serverloze omgeving versie 4 of lager om Python afhankelijkheden vooraf te configureren. De SSH-tunnel ondersteunt geen --base-environment met serverloze omgevingsversie 5 of hoger. Maak een basisomgeving met behulp van de werkruimte-UI of de Databricks CLI-opdracht databricks environments create-workspace-base-environment.

Geef de omgeving op met de optie --base-environment bij het verbinden:

databricks ssh connect --base-environment my-workspace-env

De --base-environment optie accepteert een weergavenaam, een YAML-pad voor de werkruimte of een resource ID. Je kunt het niet combineren met --cluster. Zie databricks ssh connect.

Clusterbibliotheken (aanbevolen voor klassieke rekenkracht)

Installeer afhankelijkheden met behulp van de gebruikersinterface van de werkruimte onder Compute-bibliotheken>. Deze blijven behouden tijdens het opnieuw opstarten van het cluster en zijn beschikbaar in pythonEnv-xxx. Zie Clusterbibliotheken.

Niet-Python afhankelijkheden

Als u niet-Python afhankelijkheden wilt behouden, gebruikt u een init-script waarmee de pakketten worden geïnstalleerd wanneer de berekening wordt gestart. Sla de pakketten desgewenst op in een Unity Catalog-volume en verwijs ernaar vanuit het init-script. Zie Wat zijn init-scripts?

Project-specifieke notebookinstelling

Voer voor projectafhankelijkheden een notebook met %pip install opdrachten uit aan het begin van elke sessie:

# 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 opdrachten bevatten Databricks-specifieke kaders en propageren afhankelijkheden naar Spark-uitvoerknooppunten. Dit maakt door de gebruiker gedefinieerde functies (UDF's) mogelijk met aangepaste afhankelijkheden.

Zie Bibliotheken beheren met %pip opdrachten voor meer voorbeelden.

Je hoeft het setup-notebook niet opnieuw te draaien als je opnieuw verbinding maakt voordat de SSH-tunnel wordt uitgeschakeld. Standaard wordt de tunnel 10 minuten nadat de laatste client de verbinding heeft verbroken afgesloten. Om deze vertraging te veranderen, gebruik je het commando --shutdown-delay voor je verbindingsmethode:

  • Voor een herbruikbare klassieke compute-verbinding stel je de wachttijd in met databricks ssh setup. De gegenereerde SSH-hostvermelding veroorzaakt de vertraging wanneer je verbinding maakt vanuit je IDE of ssh <connection-name> uitvoert.
  • Voor een directe CLI-verbinding stel je de time-out in met databricks ssh connect.

Opmerking

Meerdere SSH-sessies in hetzelfde cluster delen één virtuele omgeving.

Gebruik Git in een SSH-sessie

Belangrijk

Deze functie bevindt zich in openbare preview-versie. Werkruimtebeheerders kunnen de toegang tot Git CLI-ondersteuning voor Git-mappen beheren via de pagina Previews . Zie Azure Databricks previews beheren.

Je kunt de Git CLI gebruiken in de SSH-tunnel met nieuw aangemaakte Git-mappen en de Git-inloggegevens die je hebt geconfigureerd in de Azure Databricks werkruimte. Zie Git CLI-opdrachten gebruiken.

Als de CLI om inloggegevens vraagt in plaats van ze automatisch op te pikken, moet je je Git-provider verbinden met Azure Databricks. Zie Uw Git-provider verbinden met Databricks.

Houd losgekoppelde processen draaiende

Standaard stopt de SSH-tunnel bij het afsluiten elk proces dat door de sessie is gestart, inclusief processen die je met setsid, nohup of tmux van de sessie hebt losgekoppeld. De tunnel geeft een waarschuwing die de ontkoppelde processen noemt die hij op het punt staat te stoppen. Om losgekoppelde taken draaiende te houden nadat de tunnel is gesloten, gebruik je de --keep-detached-processes-vlag:

  • Serverless of klassieke compute: Geef de vlag door aan databricks ssh connect.
  • Klassieke compute met een geconfigureerde SSH-host: Geef de vlag door aan databricks ssh setup. De gegenereerde SSH-hostinvoer wordt elke keer toegepast wanneer je verbinding maakt. Serverless verbindingen vereisen geen installatie, dus deze optie geldt alleen voor classic compute.

Het volgende voorbeeld houdt losgekoppelde processen draaiend op serverless compute:

databricks ssh connect --keep-detached-processes

Het volgende voorbeeld houdt losgekoppelde processen draaiende op een toegewijde cluster:

databricks ssh connect --cluster 0123-456789-abcdefgh --keep-detached-processes

Wanneer je deze vlag gebruikt, wordt de tunnel als volgt uitgeschakeld:

  • Alleen de SSH-tunnel en haar sshd processen worden gestopt. Losgekoppelde processen blijven draaien.
  • Alle losgekoppelde processen die nog draaien, behouden hun toegang tot /Workspace en /Volumes.
  • Elke taakuitvoering eindigt wanneer het laatst losgekoppelde proces wordt beëindigd.

Bij je volgende verbinding met dezelfde compute kun je opnieuw koppelen aan losgekoppeld werk, bijvoorbeeld met tmux attach. De modus van de SSH-tunnel wordt ingesteld wanneer deze start. Als je verbinding maakt met de optie terwijl de verbinding oorspronkelijk zonder die optie is gestart, start de CLI een nieuwe verbinding.

Houd rekening met het volgende:

  • Hoewel de jobuitvoering open blijft, wordt het cluster niet automatisch beëindigd. Een idle-sessie tmux telt als een lopend losgekoppeld proces, dus sluit het als je het niet meer nodig hebt.
  • De jobrun stopt nog steeds wanneer deze de maximale levensduur bereikt die door --server-timeout is ingesteld. Deze levensduur telt vanaf het moment dat de jobuitvoering begint, niet vanaf het moment dat de tunnel wordt afgesloten. Voor langdurig werk gebruik je jobs of bundels in plaats daarvan.

Beperkingen van SSH-tunnels

De SSH-tunnel van Databricks heeft de volgende beperkingen:

  • Gedeelde clusters worden niet ondersteund.
  • De Databricks IDE-extensie en de SSH-tunnel zijn nog niet compatibel en mogen niet samen worden gebruikt.
  • Bestanden die buiten /Workspace, /Volumes en /dbfs zijn bewerkt, gaan verloren bij het opnieuw opstarten van het cluster.
  • Er zijn maximaal 10 SSH-verbindingen per cluster toegestaan.
  • Inactieve sessies kunnen na 1 uur afnemen.
  • De SSH-tunnel kan niet worden gestart vanuit andere externe omgevingen of Docker-containers.
  • Er kunnen prestatie- of verbindingsproblemen optreden wanneer drie of meer Jupyter-notebooks gelijktijdig zijn geopend.

Notebookgedrag in SSH-sessies

Er zijn enkele verschillen in notebooks bij het gebruik van de SSH-tunnel:

  • Python-bestanden definiëren geen globals van Databricks (zoals spark of dbutils). U moet ze expliciet importeren met from databricks.sdk.runtime import spark.
  • Voor ipynb-notebooks zijn deze functies beschikbaar:
    • Databricks globale variabelen: display, displayHTML, dbutils, table, sql, udf, getArgument, sc, sqlContext, spark
    • %sql magic-opdracht om SQL-cellen uit te voeren

Werken met Python-bron 'notebooks':

  • Zoek naar jupyter.interactiveWindow.cellMarker.codeRegex en stel dit in op:

    ^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])
    
  • Zoek naar jupyter.interactiveWindow.cellMarker.default en stel dit in op:

    # COMMAND ----------
    

Problemen met SSH-tunnelverbindingen oplossen

Begin met het symptoom dat overeenkomt met het falen:

Symptoom Eerste controle
De SSH-verbinding valt uit of er treedt een time-out op. Controleer HTTPS- en WebSockettoegang tot de werkruimte. Voor klassieke compute, controleer ook de clusterstatus en IDE-time-out. Zie SSH-verbinding faalt of een time-out krijgt.
De CLI meldt dat het code niet kan vinden. Installeer het Visual Studio Code shell-commando in je lokale PATH. Zie code opdracht niet gevonden.
CLI-authenticatie mislukt. Controleer het CLI-profiel en, voor classic compute, clusterrechten. Zie CLI-authenticatiefouten.
De CLI rapporteert invalid_grant met Refresh token is invalid. Log opnieuw in op de werkruimte met hetzelfde CLI-profiel en probeer dan de verbinding opnieuw. Zie Refresh token is ongeldig.
Python-code of notebooks werken niet meer nadat er verbinding is gemaakt. Controleer de geselecteerde interpreter of notebook-kernel. Zie Python-code of notebooks werken niet in de SSH-sessie.
Bestanden verdwijnen na een herstart van de cluster. Controleer of de bestanden op een vluchtig lokaal pad zijn opgeslagen. Zie Bestanden verdwijnen of de omgeving wordt gereset na een herstart van de cluster.

SSH-verbinding faalt of er treedt een time-out op

  • Controleer voor klassieke compute of de cluster draait in de workspace-interface.
  • Controleer of je netwerk, VPN en firewall HTTPS- en WebSocket-verkeer toestaan naar je werkruimtedomein. De SSH-tunnel gebruikt poort 22 niet. Het tunnelt al het verkeer over hetzelfde HTTPS-eindpunt als andere Databricks CLI-commando's. Zie Firewallregels voor domeinnaam configureren.
  • Als een proxy of firewall het TLS-verkeer inspecteert, controleer dan of het WebSocket-upgradeverzoek is toegestaan. Een tussenpersoon die de upgrade blokkeert of verwijdert, zorgt ervoor dat de verbinding uitvalt of een time-out krijgt. Vraag je netwerkbeheerder om WebSocket-upgrades naar je werkruimtedomein toe te staan, of om TLS-inspectie voor dat domein te omzeilen.
  • Als je verbinding maakt via een corporate HTTP-proxy, stel dan de HTTPS_PROXY omgevingsvariabele in, of NO_PROXY om de proxy voor je workspacedomein te omzeilen. De SSH-tunnel gebruikt dezelfde proxyconfiguratie als andere Databricks CLI-commando's. Zie Proxyserverconfiguratie.
  • Controleer of je lokale machine HTTPS-toegang heeft tot github.com en release-assets.githubusercontent.com.
  • Verhoog de SSH-time-out. Zie Verbinding maken met Visual Studio Code of Cursor.
  • Voor sleutelafstemmingsfouten, verwijder ~/.databricks/ssh-tunnel-keys en voer databricks ssh setup opnieuw uit.
  • Controleer bij fouten met de melding 'verandering van externe hostidentificatie' het ~/.ssh/known_hosts-bestand en verwijder vermeldingen die betrekking hebben op uw cluster.
  • SSH-sessies kunnen na 1 uur afnemen en er kunnen maximaal 10 SSH-verbindingen naar één cluster worden gemaakt. Zie beperkingen van SSH-tunnels.

code opdracht niet gevonden

Als u het opdrachtpalet (Error: exec: "code": executable file not found in $PATH) ziet, selecteert u Shell Command: Installeer de opdracht 'code' in PATH en start u de IDE- of terminalsessie opnieuw.

CLI-authenticatiefouten

  • Log in op je werkruimte met databricks auth login.
  • Voor klassieke compute, bevestig dat je CAN MANAGE machtigingen op de cluster hebt.

Refresh token is ongeldig

Als databricks ssh connect mislukt met error getting token, invalid_grant en Refresh token is invalid, heeft de autorisatieserver het opgeslagen OAuth-ververstoken van de CLI afgewezen. Log opnieuw in om een nieuwe sessie te krijgen:

  1. Identificeer het configuratieprofiel van de werkruimte waarmee je wilt verbinden:

    databricks auth profiles --skip-validate
    
  2. Log opnieuw in met dat profiel. Vervang <workspace-url> door de workspace-URL, zonder het /oidc/v1/token pad, en <profile-name> met de bijbehorende profielnaam:

    databricks auth login --host <workspace-url> --profile <profile-name>
    

    Voltooi het aanmeldingsproces in uw browser.

  3. Probeer de verbinding opnieuw met hetzelfde profiel:

    databricks ssh connect --ide vscode --profile <profile-name>
    

    Gebruik --ide cursor voor Cursor, of laat weg --ide voor een terminalsessie.

Als de fout blijft bestaan, controleer dan of het mislukte commando hetzelfde werkgebied en profiel aanwijst waarop je net bent ingelogd. Zie OAuth user-to-machine (U2M) authenticatie.

Python-code of notebooks mislukken in de SSH-sessie

Bestanden verdwijnen of de omgeving reset na het herstarten van de cluster

  • Bestanden in /Workspace, /Volumes en /dbfs mounts blijven behouden tijdens het opnieuw opstarten van het cluster. Bestanden in /home, /rooten andere lokale paden zijn kortstondig en verloren bij opnieuw opstarten.
  • Gebruik clusterbibliotheekbeheer voor permanente afhankelijkheden. Automatiseer indien nodig opnieuw installeren met behulp van init-scripts. Zie Wat zijn init-scripts?

SSH-installatie mislukt op Windows (WSL)

Voer databricks ssh setup rechtstreeks uit op Windows, niet in WSL. Het Windows Visual Studio Code exemplaar kan geen SSH-configuraties vinden die aan de WSL-zijde zijn gemaakt.

Veelgestelde vragen

Vereist serverless compute een SSH-setup?

No. Na het installeren en authenticeren van de Databricks CLI, gebruik databricks ssh connect voor serverless compute. Het databricks ssh setup commando configureert herbruikbare SSH-hostvermeldingen voor klassieke dedicated compute.

Vereist de SSH-tunnel van Databricks poort 22?

No. De SSH-tunnel vervoert verkeer via HTTPS naar je werkruimtedomein en vereist WebSocket-ondersteuning. Je netwerk, VPN, firewall en proxy moeten dat verkeer toestaan. Zie SSH-verbinding faalt of een time-out krijgt.

Hoe verschilt de SSH-tunnel van Databricks Connect?

Met Databricks Connect kunt u code schrijven met behulp van Spark-API's en deze op afstand uitvoeren op Databricks Compute in plaats van in de lokale Spark-sessie. De Databricks Visual Studio Code-extensie maakt gebruik van Databricks Connect om ingebouwde foutopsporing van gebruikerscode op Databricks te bieden.

De SSH-tunnel stelt je in staat om toegang te krijgen tot de werkruimte vanuit je IDE en verplaatst je volledige ontwikkelomgeving op de compute-omgeving. Python, de kernel en code-uitvoering draaien op Azure Databricks met toegang tot de rekenbronnen.

Hoe worden mijn code en gegevens beveiligd?

SSH-verkeer is end-to-end versleuteld, en code draait op de Azure Databricks compute waarmee je verbinding maakt. Authenticatie gebruikt de Databricks CLI en je geconfigureerde workspace-profiel. Zie Welke authenticatiemethoden worden ondersteund?.

Welke IDE's worden ondersteund?

Visual Studio Code en Cursor worden officieel ondersteund. Elke IDE met SSH-mogelijkheden is compatibel, maar alleen VS Code en Cursor worden getest.

Zijn alle Databricks-notebookfuncties beschikbaar via de IDE?

Sommige functies, zoals display(), dbutilsen %sql zijn beschikbaar met beperkingen of handmatige installatie. Zie Notebook-gedrag in SSH-sessies.

Wordt mijn cluster automatisch gestart wanneer ik verbinding maak met behulp van de SSH-tunnel?

Ja, maar als het langer duurt om het cluster te starten dan de time-out voor de verbinding, mislukt de verbindingspoging. Om dit te voorkomen, verhoogt u de waarde van Remote.SSH: Connect Timeout vanuit het opdrachtpalet (of remote.SSH.connectTimeout in settings.json) om de kans op time-outfouten verder te verminderen.

Hoe weet ik of mijn cluster draait?

Navigeer naar Compute in de gebruikersinterface van de Databricks-werkruimte en controleer de status van het cluster. Het cluster moet Running weergeven voordat de SSH-verbinding werkt.

Hoe verbreek ik de verbinding met mijn SSH/IDE-sessie?

U kunt een sessie verbreken door het IDE-venster te sluiten met behulp van de optie Verbinding verbreken in uw IDE, uw SSH-terminal te sluiten of de exit opdracht uit te voeren in de terminal.

Hoe stop ik het cluster en vermijd ik kosten wanneer ik niet werk?

Als u het cluster onmiddellijk wilt stoppen, beëindigt u het cluster vanuit de gebruikersinterface van de werkruimte. Navigeer naar Compute in de gebruikersinterface van de Databricks-werkruimte, zoek uw cluster en klik op Beëindigen of Stoppen.

Stel een kort beleid voor automatische beëindiging in op uw cluster vanuit de gebruikersinterface van de werkruimte. Nadat je de verbinding verbreekt, wacht de SSH-tunnel op de shutdown-delay periode (standaard: 10 minuten), waarna de idle-timeout van de cluster van kracht wordt. Als je --keep-detached-processes gebruikt, wordt het cluster niet automatisch beëindigd terwijl losgekoppelde processen draaien. Zie Losgekoppelde processen actief houden.

Hoe kan ik permanente afhankelijkheden verwerken?

Afhankelijkheden die tijdens een sessie zijn geïnstalleerd, gaan verloren nadat het cluster opnieuw is opgestart. Gebruik permanente opslag (/Workspace/Users/<your-username>) voor vereisten en installatiescripts. Gebruik clusterbibliotheken of init-scripts voor automatisering.

Welke verificatiemethoden worden ondersteund?

Verificatie maakt gebruik van de Databricks CLI en uw ~/.databrickscfg profielbestand. SSH-sleutels worden beheerd door de SSH-tunnel.

Kan ik verbinding maken met externe databases of services vanuit het cluster?

Ja, zolang uw clusternetwerken uitgaande verbindingen toestaat en u over de benodigde bibliotheken beschikt.

Kan ik extra IDE-extensies gebruiken?

De meeste extensies werken wanneer ze zijn geïnstalleerd in uw externe SSH-sessie, afhankelijk van uw IDE en cluster. Visual Studio Code installeert standaard geen lokale extensies op externe hosts. U kunt ze handmatig installeren door het deelvenster extensies te openen en uw lokale extensies in te schakelen op de externe host. U kunt Visual Studio Code ook zo configureren dat bepaalde extensies altijd extern worden geïnstalleerd. Zie Verbinding maken met Databricks.

Ja, maar werkruimtebeheerders moeten URL's van Visual Studio Code en Cursor-extensie-marketplaces toestaan. Uw lokale computer moet ook toegang hebben tot internet.