Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in versione beta.
Il costo e i prezzi delle funzionalità in Beta sono soggetti a variazioni.
Il tunnel SSH (Secure Shell) di Azure Databricks collega Visual Studio Code, Cursor o il tuo terminale allo spazio di lavoro di Azure Databricks e al calcolo serverless, ad AI Runtime o al calcolo classico di Azure Databricks. Usalo per modificare file di workspace ed eseguire o eseguire il debug di script e notebook Python, con il tuo ambiente Python e l'esecuzione del codice sulla risorsa di calcolo remota. Connettiti direttamente al calcolo serverless, oppure imposta una connessione SSH riutilizzabile a un cluster classico dedicato.
Requisiti
Avvia la connessione SSH dalla tua macchina locale. Il tunnel non può essere avviato da un altro ambiente remoto o da un container Docker.
Per connettersi a un calcolo serverless o classico, devi avere:
- Databricks CLI versione 1.5.0 o successiva installato sul computer locale con autenticazione configurata. Controllare la versione installata con
databricks --version. Consulta Installare o aggiornare la CLI di Databricks. - Uno dei seguenti:
- Visual Studio Code versione 1.110.0 (Universale) o superiore e l'estensione Remote - SSH (1.0.46+) installata.
- Cursor versione 2.6.11 (Universale) o superiore.
Per connettersi al calcolo GPU serverless, è necessario abilitare la funzionalità Runtime di intelligenza artificiale. Vedi Runtime di intelligenza artificiale.
Requisiti aggiuntivi per il compute classico
Per connettersi al calcolo classico (dedicato, utente singolo):
- Il calcolo deve eseguire Databricks Runtime 17.0 o versione successiva. Consulta Panoramica del calcolo dedicato.
- Il catalogo unity deve essere abilitato.
- Se esiste una politica di calcolo, non deve vietare l'esecuzione dei processi.
- Quando si usa Databricks Container Services per il calcolo dedicato, l'immagine Docker deve essere
openssh-serverinstallata.
Scegli una connessione SSH
Usa il metodo di connessione per il tipo di istanza:
| Compute | Metodo di connessione | Requisito di configurazione |
|---|---|---|
| Calcolo serverless (senza server) | databricks ssh connect |
Nessun passaggio separato di configurazione SSH. Aggiungi --ide vscode o --ide cursor per avviare un IDE. |
| Runtime di intelligenza artificiale | databricks ssh connect --accelerator <accelerator> |
Nessun passaggio separato di configurazione SSH. Aggiungi --ide vscode o --ide cursor per avviare un IDE.Per gli acceleratori supportati, vedere --accelerator. |
| Calcolo dedicato classico per un solo utente | Eseguire databricks ssh setup --name <connection-name> nel terminale.Poi avvia la sessione SSH dall'IDE o esegui ssh <connection-name>. |
Seleziona un cluster dedicato a singolo utente che soddisfi i classici requisiti di calcolo. I cluster condivisi non sono supportati. |
Il tunnel SSH e l'estensione IDE Databricks non sono compatibili e non dovrebbero essere usati insieme. Per un confronto con Databricks Connect e altre opzioni di sviluppo, consulta Connect dal tuo IDE.
Collegarsi al calcolo serverless
Una volta soddisfatti i requisiti sopra indicati, esegui databricks ssh connect dal tuo terminale o IDE.
Il valore --ide seleziona l'editor da avviare, indipendentemente dall'editor o dal terminale da cui esegui il comando.
Visual Studio Code
databricks ssh connect --ide vscode
La CLI apre una finestra di Visual Studio Code collegata al compute remoto.
Cursor
databricks ssh connect --ide cursor
La CLI apre una finestra di Cursor collegata all'ambiente di calcolo remoto.
Terminal
databricks ssh connect
Il CLI avvia una sessione interattiva SSH.
Per le opzioni di comando, incluse connessioni nominate e profili di autenticazione, vedi databricks ssh connect.
Dopo aver connettuto, apri il progetto workspace e seleziona l'ambiente Python. Se la connessione fallisce, vedi Risoluzione dei problemi delle connessioni tunnel SSH.
Connettiti al calcolo GPU serverless con AI Runtime
Con AI Runtime abilitato, aggiungi --accelerator per usare il calcolo GPU:
databricks ssh connect --accelerator GPU_1xA10
databricks ssh connect offre una sessione interattiva in un singolo nodo. Per lavori di addestramento di lunga durata o addestramenti distribuiti multi-nodo, invia invece il carico di lavoro con databricks air Vedi Utilizzare la Databricks CLI con Runtime di AI.
Connettersi al calcolo classico
Per una connessione riutilizzabile a un cluster dedicato classico, imposta un nome host SSH, poi seleziona quell'host nel tuo IDE o collegati da un terminale.
Configurare la connessione SSH
Annotazioni
La configurazione della connessione SSH è necessaria solo se ci si connette al calcolo classico.
Esegui databricks ssh setup sulla tua macchina locale. Sostituisci <connection-name> con un nome per questa connessione, come my-connection:
databricks ssh setup --name <connection-name>
La CLI ti invita a selezionare un cluster e aggiunge una voce host alla configurazione SSH. Puoi anche selezionare direttamente un cluster. Sostituisci <cluster-id> con l'ID del tuo cluster dedicato:
databricks ssh setup --name <connection-name> --cluster <cluster-id>
Per configurare quanto tempo il tunnel SSH aspetta dopo che l'ultimo client si è disconnesso, aggiungi --shutdown-delay al comando setup. Il valore predefinito è 10 minuti. Ad esempio, per impostare un ritardo di 30 minuti per le connessioni tramite questa voce host SSH:
databricks ssh setup --name <connection-name> --cluster <cluster-id> --shutdown-delay 30m
Annotazioni
Per gli utenti di IntelliJ, Databricks consiglia di aggiungere --auto-start-cluster=false al comando di installazione e avviare manualmente il cluster prima della connessione. Ciò è dovuto al fatto che gli IDE JetBrains avviano tutti i cluster configurati all'avvio, causando costi di calcolo imprevisti.
Connettersi utilizzando Visual Studio Code o Cursor
Per Visual Studio Code, installare l'estensione Remote SSH. Il cursore include un'estensione SSH remota per impostazione predefinita.
Nel menu principale dell'IDE fare clic su Visualizza>riquadro comandi. Selezionare Remote-SSH: Settings (Remote-SSH: Impostazioni). In alternativa, selezionare Preferenze: aprire Impostazioni utente (JSON) per modificare
settings.jsondirettamente.In Remote.SSH: Estensioni predefinite (o
remote.SSH.defaultExtensionsinsettings.json) aggiungerems-Python.Pythonems-toolsai.jupyter.Se si sta modificando
settings.json:"remote.SSH.defaultExtensions": [ "ms-Python.Python", "ms-toolsai.jupyter" ]Annotazioni
Facoltativamente, aumentare il valore di Remote.SSH: Connect Timeout (o
remote.SSH.connectTimeoutinsettings.json) per ridurre ulteriormente la probabilità di errori di timeout. Il timeout predefinito è 360.Nel riquadro comandi selezionare Remote-SSH: Connect to Host (Remote-SSH: Connetti all'host).
Dal menu a discesa selezionare la connessione configurata nel primo passaggio. L'IDE procede per la connessione in una nuova finestra.
Connettersi con gli IDE IntelliJ
- Segui il tutorial sul server remoto per impostare.
- Nella nuova schermata di connessione immettere:
-
Nome utente:
root -
Host:
<connection-name>
-
Nome utente:
Connettiti al compute classico da un terminale
Usa il nome della connessione che hai configurato con databricks ssh setup:
ssh <connection-name>
Per una connessione diretta senza una voce host SSH riutilizzabile, puoi anche usare la CLI. Sostituisci <cluster-id> con il tuo ID cluster dedicato:
databricks ssh connect --cluster <cluster-id>
Vedi databricks ssh connect.
Apri i progetti open workspace tramite SSH
Per impostazione predefinita, il databricks ssh connect comando si apre in una directory temporanea. Per accedere ai file dell'area di lavoro, passare alla directory dell'area di lavoro dall'IDE o dal terminale:
- In Visual Studio Code o Cursor, dalla Raccolta comandi (Cmd/Ctrl+Shift+P) seleziona Apri cartella e passa a
/Workspace/Users/<your-username>. - In una finestra del terminale, cambia directory:
cd /Workspace/Users/<your-username>.
Annotazioni
I file in /Workspace, /Volumese /dbfs vengono mantenuti tra i riavvii del cluster. I file in /home, /roote altri percorsi locali sono temporanei e persi al riavvio.
Esegui Python e notebook nella sessione SSH
Seleziona l'ambiente Python fornito dalla tua sessione SSH prima di eseguire il codice. Per il calcolo classico, questo ambiente include le librerie Databricks Runtime integrate e librerie con ambito di calcolo.
Aprire il riquadro comandi (CMD/CTRL+MAIUSC+P) e selezionare Python: Seleziona interprete.
Selezionare l'ambiente
pythonEnv-xxxvirtuale dall'elenco. Se si configurano le dipendenze di Python usando il flag--base-environment, selezionare dall'elenco delle opzioni il nome dell'ambiente virtuale più lungo. Se l'ambiente virtuale non viene visualizzato:Eseguire
echo $DATABRICKS_VIRTUAL_ENVda un terminale all'interno dell'IDE.Output di esempio:
/local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/pythonIncolla l'output completo come percorso dell'interprete nel prompt Python: Seleziona interprete.
Aprire un nuovo terminale e l'ambiente virtuale deve essere attivato automaticamente.
Per eseguire un notebook Jupyter, assicurati che l'ambiente virtuale sia selezionato come *kernel*. Fare clic su Seleziona kernel in alto a destra del notebook.
Eseguire ed eseguire il debug di file Python e notebook .ipynb utilizzando le estensioni standard di Python e Jupyter.
Per usare Spark in un file Python nel serverless compute, inizializza esplicitamente una sessione:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()
Gestire le dipendenze per le sessioni SSH
Scegli la gestione delle dipendenze per il tipo di elaborazione:
- Per il calcolo serverless, si utilizza un ambiente di base del workspace con una versione dell'ambiente serverless supportata.
- Per il calcolo classico, usa librerie del cluster per le dipendenze che persistono durante i riavvii.
- Per le dipendenze con ambito di una sessione di progetto, usa un notebook di configurazione.
Per i pacchetti non Python, vedi Dipendenze non Python.
Ambienti di base dello spazio di lavoro (consigliati per serverless e AI Runtime)
Annotazioni
Questa funzionalità richiede che sia abilitata l'anteprima di Supporto per l'ambiente di base dell'area di lavoro serverless in Jobs. Vedere Gestire le anteprime di Azure Databricks.
Usare un ambiente di base dell'area di lavoro con ambiente serverless versione 4 o successiva per preconfigurare le dipendenze Python. Il tunnel SSH non supporta --base-environment con ambienti serverless di versione 5 o superiore. Crea un ambiente di base usando la workspace UI o il comando databricks environments create-workspace-base-environment della Databricks CLI.
Specificare l'ambiente utilizzando l'opzione --base-environment durante la connessione:
databricks ssh connect --base-environment my-workspace-env
L'opzione --base-environment accetta un nome visualizzato, un percorso YAML dello spazio di lavoro o un ID risorsa. Non puoi combinarlo con --cluster. Vedi databricks ssh connect.
Librerie di cluster (consigliate per il calcolo classico)
Installare le dipendenze tramite l'interfaccia utente dell'area di lavoro in Compute > Libraries. Questi elementi vengono mantenuti tra i riavvii del cluster e sono disponibili in pythonEnv-xxx. Consultare Librerie cluster.
Dipendenze diverse da Python
Per rendere persistenti le dipendenze non Python, usare uno script init che installa i pacchetti all'avvio del calcolo. Facoltativamente, archiviare i pacchetti in un volume di Catalogo Unity e farvi riferimento dallo script init. Consulta Che cosa sono gli script init?.
configurazione del notebook specifica di Project
Per le dipendenze con ambito progetto, eseguire un notebook contenente %pip install i comandi all'inizio di ogni sessione:
# 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 I comandi includono protezioni specifiche di Databricks e propagano le dipendenze ai nodi di esecuzione di Spark. Ciò consente funzioni definite dall'utente con dipendenze personalizzate.
Per altri esempi, vedere Gestire le librerie con %pip i comandi.
Non è necessario rieseguire il notebook di configurazione se si riconnette prima che il tunnel SSH si chiuda. Di default, il tunnel si chiude 10 minuti dopo la disconnessione dell'ultimo client. Per modificare questo ritardo, usa --shutdown-delay con il comando per il tuo metodo di connessione:
- Per una connessione classica riutilizzabile, imposta il ritardo con databricks ssh setup. La voce host SSH generata fa sì che il ritardo venga applicato quando ti connetti dal tuo IDE o esegui
ssh <connection-name>. - Per una connessione CLI diretta, configura il relay con databricks ssh connect.
Annotazioni
Più sessioni SSH nello stesso cluster condividono un ambiente virtuale.
Usa Git in una sessione SSH
Importante
Questa funzionalità è in Anteprima Pubblica. Gli amministratori dello spazio di lavoro possono gestire l'accesso al supporto della CLI di Git per le cartelle Git dalla pagina Anteprime. Vedere Gestire le anteprime di Azure Databricks.
Puoi usare la CLI Git nel tunnel SSH con le nuove cartelle Git create e le credenziali Git che hai configurato nello spazio di lavoro di Azure Databricks. Consultare Usare i comandi della CLI Git.
Se la CLI richiede le credenziali invece di prenderle automaticamente, devi collegare il tuo provider Git ad Azure Databricks. Consulta Connetti il provider Git a Databricks.
Mantenere in funzione i processi separati
Di default, quando il tunnel SSH si spegne, blocca ogni processo avviato dalla sessione, inclusi quelli che hai staccato dalla sessione con tmux, setsid, o nohup. Il tunnel registra un avviso che indica i nomi dei processi staccati che sta per fermare. Per mantenere in funzione il lavoro staccato dopo la chiusura del tunnel, usa il flag --keep-detached-processes:
- Serverless o calcolo classico: Passa la bandiera a Databricks ssh connect.
- Calcolo classico con un host SSH configurato: Passa il flag a databricks ssh setup. La voce host SSH generata viene applicata ogni volta che ti connetti. Le connessioni serverless non richiedono configurazione, quindi questa opzione si applica solo al compute classico.
Il seguente esempio mantiene i processi in background in esecuzione su computazione serverless:
databricks ssh connect --keep-detached-processes
L'esempio seguente mantiene i processi scollegati in esecuzione su un cluster dedicato:
databricks ssh connect --cluster 0123-456789-abcdefgh --keep-detached-processes
Quando usi questo flag, il tunnel si chiude come segue:
- Solo il tunnel SSH e i suoi
sshdprocessi sono fermati. I processi disconnessi continuano a funzionare. - Tutti i processi distaccati che sono ancora in esecuzione mantengono il loro accesso a
/Workspacee/Volumes. - Qualsiasi esecuzione del job termina quando l'ultimo processo staccato esce.
Alla prossima connessione allo stesso compute, puoi ricollegarti a un lavoro scollegato, ad esempio con tmux attach. La modalità del tunnel SSH è impostata all'avvio. Se ti connetti con la flag quando la connessione era stata avviata inizialmente senza di essa, la CLI avvia una nuova connessione.
Tenere presente quanto segue:
- Mentre l'esecuzione del lavoro rimane aperta, il cluster non termina automaticamente. Una sessione
tmuxinattiva è considerata un processo distaccato in esecuzione, quindi chiudila quando non ne hai più bisogno. - L'esecuzione del lavoro si interrompe comunque quando raggiunge la durata massima impostata da
--server-timeout. Questa durata decorre dal momento in cui inizia l'esecuzione del processo, non dal momento in cui il tunnel si chiude. Per lavori di lunga durata, usa job o bundle invece.
Limitazioni dei tunnel SSH
Il tunnel SSH fornito da Databricks presenta le limitazioni seguenti:
- I cluster condivisi non sono supportati.
- L'estensione IDE Databricks e il tunnel SSH non sono ancora compatibili e non dovrebbero essere usati insieme.
- I file modificati all'esterno di
/Workspace,/Volumese/dbfsvengono persi al riavvio del cluster. - È consentito un massimo di 10 connessioni SSH per ogni cluster.
- Le sessioni inattive potrebbero scadere dopo 1 ora.
- Il tunnel SSH non può essere avviato da altri ambienti remoti o da contenitori Docker.
- È possibile che si verifichino problemi di prestazioni o connessione quando tre o più notebook jupyter sono aperti contemporaneamente.
Comportamento del Notebook nelle sessioni SSH
Esistono alcune differenze nei notebook quando si usa il tunnel SSH:
- I file Python non definiscono nessuna globalità di Databricks (ad esempio
sparkodbutils). È necessario importarli in modo esplicito confrom databricks.sdk.runtime import spark. - Per i notebook ipynb, sono disponibili queste funzionalità:
- Variabili globali di Databricks:
display,displayHTML,dbutils,table,sql,udf,getArgument,sc,sqlContext,spark -
%sqlcomando magico per eseguire le celle SQL
- Variabili globali di Databricks:
Per lavorare con i notebook sorgente Python:
Cercare
jupyter.interactiveWindow.cellMarker.codeRegexe impostarlo su:^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])Cercare
jupyter.interactiveWindow.cellMarker.defaulte impostarlo su:# COMMAND ----------
Risoluzione dei problemi delle connessioni SSH tunnel
Inizia dal sintomo che corrisponde al guasto:
| Sintomo | Primo controllo |
|---|---|
| La connessione SSH non riesce o va in timeout. | Controlla l'accesso HTTPS e WebSocket al workspace. Per il calcolo classico, controlla anche lo stato del cluster e il timeout dell'IDE. Vedi Errore o timeout della connessione SSH. |
Il CLI riferisce che non riesce a trovare code. |
Installa il comando shell di Visual Studio Code nel tuo ambiente locale PATH. Consulta code "comando non trovato". |
| L'autenticazione CLI fallisce. | Controlla il profilo CLI e, per il calcolo classico, i permessi del cluster. Vedi errori di autenticazione CLI. |
Il CLI riporta invalid_grant con Refresh token is invalid. |
Accedi di nuovo allo spazio di lavoro usando lo stesso profilo CLI, poi riprova la connessione. Vedi "Il token di aggiornamento non è valido". |
| Il codice Python o i notebook non funzionano dopo la connessione. | Controlla l'interprete o il kernel del notebook selezionati. Vedi Il codice Python o i notebook non funzionano nella sessione SSH. |
| I file scompaiono dopo un riavvio del cluster. | Controlla se i file sono stati memorizzati su un percorso locale effimero. Vedi I file scompaiono o l'ambiente si reimposta dopo il riavvio del cluster. |
La connessione SSH non riesce o va in timeout
- Per il calcolo classico, verifica che il cluster sia in esecuzione nell'interfaccia del workspace.
- Controlla che la tua rete, VPN e firewall permettano traffico HTTPS e WebSocket al dominio dello spazio di lavoro. Il tunnel SSH non utilizza la porta 22. Tunnelizza tutto il traffico sullo stesso endpoint HTTPS degli altri comandi della CLI di Databricks. Vedere Configurare le regole del firewall dei nomi di dominio.
- Se un proxy o firewall ispeziona il traffico TLS, verifica che consenta la richiesta di aggiornamento WebSocket. Un intermediario che blocca o elimina l'aggiornamento provoca il guasto o il timeout della connessione. Chiedi al tuo amministratore di rete di consentire gli aggiornamenti WebSocket al dominio del tuo workspace, o di bypassare l'ispezione TLS per quel dominio.
- Se ti connetti tramite un proxy HTTP aziendale, imposta la variabile di ambiente
HTTPS_PROXYoppureNO_PROXYper escludere il proxy per il dominio del tuo workspace. Il tunnel SSH utilizza la stessa configurazione proxy degli altri comandi CLI di Databricks. Vedi configurazione del server proxy. - Controlla che la tua macchina locale abbia accesso HTTPS a
github.comerelease-assets.githubusercontent.com. - Aumentare il timeout SSH. Consulta Connettersi utilizzando Visual Studio Code o Cursor.
- Per gli errori di mancata corrispondenza delle chiavi, eliminare
~/.databricks/ssh-tunnel-keysed eseguiredatabricks ssh setupdi nuovo . - Per gli errori di "identificazione host remota modificata", controllare il
~/.ssh/known_hostsfile ed eliminare le voci correlate al cluster. - Le sessioni SSH possono essere interrotte dopo 1 ora e non è possibile stabilire più di 10 connessioni SSH a un singolo cluster. Vedi limitazioni dei tunnel SSH.
code Comando non trovato
Se viene visualizzato Error: exec: "code": executable file not found in $PATH, aprire il riquadro comandi (CMD/CTRL+MAIUSC+P), selezionare Comando shell: Installa il comando 'code' in PATH e riavviare l'IDE o la sessione del terminale.
Errori di autenticazione CLI
- Accedi al tuo workspace usando databricks auth login.
- Per il calcolo classico, conferma di disporre delle autorizzazioni
CAN MANAGEsul cluster.
Il token di aggiornamento è invalido
Se databricks ssh connect fallisce con error getting token, invalid_grant, e Refresh token is invalid, il server di autorizzazione ha rifiutato il token OAuth salvato dalla CLI. Accedi di nuovo per ottenere una nuova sessione:
Identifica il profilo di configurazione per lo spazio di lavoro a cui vuoi connetterti:
databricks auth profiles --skip-validateAccedi di nuovo usando quel profilo. Sostituisci
<workspace-url>con l'URL dello spazio di lavoro, senza il/oidc/v1/tokenpercorso, e<profile-name>con il nome profilo corrispondente:databricks auth login --host <workspace-url> --profile <profile-name>Completa la procedura di accesso nel browser.
Riprova la connessione con lo stesso profilo:
databricks ssh connect --ide vscode --profile <profile-name>Usa
--ide cursorper Cursor, oppure ometti--ideper una sessione terminale.
Se l'errore persiste, controlla che il comando non riuscito sia destinato allo stesso spazio di lavoro e allo stesso profilo a cui hai appena effettuato l'accesso. Vedi autenticazione OAuth utente-macchina (U2M).
Il codice Python o i notebook non funzionano nella sessione SSH
- Seleziona l'ambiente Python fornito dalla sessione SSH. Per un notebook, seleziona quell'ambiente come kernel. Vedi Eseguire Python e i notebook nella sessione SSH.
- I notebook IPYNB e
*.pyi notebook di Databricks hanno accesso alle variabili globali di Databricks, ma i file Python*.pynon ne hanno accesso. Vedi Comportamento del notebook nelle sessioni SSH.
I file scompaiono o l'ambiente si resetta dopo il riavvio del cluster
- I file nei montaggi
/Workspace,/Volumes, e/dbfspersistono tra i riavvii del cluster. I file in/home,/roote altri percorsi locali sono temporanei e persi al riavvio. - Usare la gestione delle librerie cluster per le dipendenze persistenti. Automatizzare le reinstallazioni usando script init, se necessario. Consulta Che cosa sono gli script init?.
L'installazione di SSH non riesce in Windows (WSL)
Eseguire databricks ssh setup direttamente in Windows, non in WSL. L'istanza di Windows Visual Studio Code non riesce a trovare le configurazioni SSH create sul lato WSL.
Domande frequenti
Il calcolo serverless richiede la configurazione SSH?
No. Dopo aver installato e autenticato la CLI Databricks, usa databricks ssh connect per il calcolo serverless. Il databricks ssh setup comando configura le voci host SSH riutilizzabili per il calcolo dedicato classico.
Il tunnel SSH di Databricks richiede la porta 22?
No. Il tunnel SSH trasporta il traffico tramite HTTPS al dominio dello spazio di lavoro e richiede il supporto WebSocket. La tua rete, VPN, firewall e proxy devono permettere quel traffico. Vedi Errore o timeout della connessione SSH.
In che modo il tunnel SSH è diverso da Databricks Connect?
Databricks Connect consente di scrivere codice usando le API Spark ed eseguirle in modalità remota nel calcolo di Databricks anziché nella sessione Spark locale. L'estensione databricks Visual Studio Code usa Databricks Connect per fornire il debug predefinito del codice utente in Databricks.
Il tunnel SSH ti permette di accedere allo spazio di lavoro dal tuo IDE e sposta l'intero ambiente di sviluppo sull'infrastruttura di calcolo. Python, il kernel e l'esecuzione del codice vengono eseguiti su Azure Databricks con accesso alle risorse di calcolo.
Come vengono protetti il codice e i dati?
Il traffico SSH è criptato end-to-end, e il codice viene eseguito sulle risorse di calcolo di Azure Databricks a cui ti connetti. L'autenticazione utilizza la CLI Databricks e il tuo profilo di workspace configurato. Vedi quali metodi di autenticazione sono supportati?.
Quali IDE sono supportati?
Visual Studio Code e Cursor sono ufficialmente supportati. Qualsiasi IDE con funzionalità SSH è compatibile, ma vengono testati solo VS Code e Cursor.
Tutte le funzionalità del notebook di Databricks sono disponibili nell'IDE?
Alcune funzionalità, display()ad esempio , dbutilse %sql sono disponibili con limitazioni o configurazione manuale.
Vedi Comportamento del notebook nelle sessioni SSH.
Il cluster verrà avviato automaticamente quando ci si connette usando il tunnel SSH?
Sì, ma se l'avvio del cluster richiede più tempo rispetto al timeout della connessione, il tentativo di connessione avrà esito negativo. Per evitare questo problema, aumentare il valore di Remote.SSH: Connetti timeout dal riquadro comandi (o remote.SSH.connectTimeout in settings.json) per ridurre ulteriormente la probabilità di errori di timeout.
Come posso sapere se il mio cluster è in esecuzione?
Passare a Calcolo nell'interfaccia utente dell'area di lavoro di Databricks e controllare lo stato del cluster. Per consentire il corretto funzionamento della connessione SSH, il cluster deve visualizzare Running.
Come si disconnette la sessione SSH/IDE?
È possibile disconnettere una sessione chiudendo la finestra dell'IDE, usando l'opzione Disconnetti nell'IDE, chiudendo il terminale SSH o eseguendo il exit comando nel terminale.
Come arrestare il cluster ed evitare addebiti quando non funziona?
Per arrestare immediatamente, terminate il cluster dall'interfaccia utente dell'area di lavoro. Passare a Calcolo nell'interfaccia utente dell'area di lavoro di Databricks, individuare il cluster e fare clic su Termina o Arresta.
Impostare un breve criterio di terminazione automatica nel cluster dall'interfaccia utente dell'area di lavoro. Dopo la disconnessione, il tunnel SSH aspetta il shutdown-delay periodo (predefinito: 10 minuti), poi si applica il timeout di inattività del cluster. Se usi --keep-detached-processes, il cluster non termina automaticamente mentre i processi staccati sono in esecuzione. Vedi Mantenere in esecuzione i processi scollegati.
Come gestire le dipendenze persistenti?
Le dipendenze installate durante una sessione vengono perse dopo il riavvio del cluster. Usare l'archiviazione permanente (/Workspace/Users/<your-username>) per i requisiti e gli script di installazione. Usare librerie cluster o script init per l'automazione.
Quali metodi di autenticazione sono supportati?
L'autenticazione usa l'interfaccia della riga di comando di Databricks e il file dei profili ~/.databrickscfg. Le chiavi SSH vengono gestite dal tunnel SSH.
È possibile connettersi a database o servizi esterni dal cluster?
Sì, purché la rete del cluster consenta le connessioni in uscita e le librerie necessarie.
È possibile usare estensioni IDE aggiuntive?
La maggior parte delle estensioni funziona quando viene installata all'interno della sessione SSH remota, a seconda dell'IDE e del cluster. Visual Studio Code per impostazione predefinita non installa le estensioni locali in host remoti. È possibile installarli manualmente aprendo il pannello delle estensioni e abilitando le estensioni locali nell'host remoto. È anche possibile configurare Visual Studio Code per installare sempre determinate estensioni in modalità remota. Vedere Connettersi a Databricks.
Il tunnel SSH supporta collegamento privato?
Sì, tuttavia gli amministratori del workspace devono inserire nell'elenco consentito gli URL di Visual Studio Code e del marketplace delle estensioni di Cursor. Il computer locale deve anche avere la possibilità di accedere a Internet.