Eseguire i comandi della shell nel terminale Web di Azure Databricks
Il terminale Web di Azure Databricks offre un modo pratico e altamente interattivo per eseguire comandi della shell in un'interfaccia della riga di comando (CLI), inclusi i comandi dell'interfaccia della riga di comando di Databricks, per eseguire azioni sugli oggetti Databricks a livello di codice. È particolarmente utile per i casi d'uso avanzati, ad esempio le operazioni batch su più file, che le interfacce utente esistenti potrebbero non supportare completamente.
Più utenti possono usare il terminale Web in un unico ambiente di calcolo.
È possibile usare il terminale Web per eseguire le operazioni seguenti:
- Apportare modifiche rapide ai file usando Vim o Emacs.
- Monitorare l'utilizzo delle risorse con comandi come
htop
(utilizzo del cluster) onvidia-smi
(utilizzo GPU). - Eseguire script Python non Spark.
- Eseguire operazioni di file con comandi della shell,
mv
ad esempio emkdir
. - Installare e gestire le librerie nel calcolo.
- Usare l'interfaccia della riga di comando di Databricks per automatizzare vari aspetti di Azure Databricks.
Requisiti
Avviso
Azure Databricks esegue il proxy del servizio terminale Web dalla porta 7681 nel driver Spark di calcolo. Questo proxy Web è destinato all'uso solo con il terminale Web. Se la porta viene occupata all'avvio del calcolo o si verifica un conflitto, il terminale Web potrebbe non funzionare come previsto. Se vengono avviati altri servizi Web sulla porta 7681, gli utenti di calcolo potrebbero essere esposti a potenziali exploit di sicurezza. Né Databricks né Microsoft sono responsabili di eventuali problemi derivanti dall'installazione di software non supportato in un ambiente di calcolo.
- Il terminale Web è disabilitato per impostazione predefinita per tutti gli utenti dell'area di lavoro. Per abilitarla, vedere Abilitare il terminale Web.
- AUTORIZZAZIONE CAN ATTACH TO per un ambiente di calcolo.
- Il calcolo deve usare una modalità di accesso di Utente singolo o Nessun isolamento condiviso.
Avviare il terminale Web
È possibile avviare il terminale Web dalla pagina dei dettagli di calcolo o da un notebook.
Da un notebook
Per avviare il terminale Web da un notebook:
- Connettere il notebook al calcolo.
- Nella parte inferiore della barra laterale destra del notebook fare clic sull'icona Apri pannello inferiore.
- In alternativa, fare clic sull'elenco a discesa calcolo collegato, passare il puntatore del mouse sul calcolo collegato, quindi fare clic su Terminale Web.
Il terminale Web viene aperto in un pannello nella parte inferiore della schermata. I pulsanti in alto a destra del pannello consentono di:
- Aprire una nuova sessione del terminale in una nuova scheda .
- Ricaricare una sessione del terminale .
- Chiudere il pannello inferiore . Per riaprire il pannello, fare clic nella parte inferiore della barra laterale destra.
Dalla pagina dei dettagli di calcolo
Per avviare il terminale Web dalla pagina dei dettagli di calcolo:
- Nella barra laterale dell'area di lavoro fare clic su Calcolo.
- Nella scheda Calcolo tutto scopo fare clic sul nome dell'ambiente di calcolo.
- Fare clic su Start per avviare il calcolo.
- Nella scheda App fare clic su Terminale Web.
Viene visualizzata una nuova scheda con l'interfaccia utente del terminale Web e il prompt di Bash.
Usare il terminale Web
Nel terminale Web è possibile eseguire comandi dalla radice all'interno del contenitore del nodo del driver di calcolo.
Ogni utente può avere fino a 100 sessioni del terminale Web attive (schede) aperte. Le sessioni del terminale Web inattive potrebbero verificarsi un timeout e l'applicazione Web del terminale Web si riconnetterà, generando un nuovo processo della shell. Se si vuole mantenere la sessione Bash, Databricks consiglia di usare tmux.
Eseguire i comandi dell'interfaccia della riga di comando di Databricks
È anche possibile usare il terminale Web per eseguire i comandi dell'interfaccia della riga di comando di Databricks. L'interfaccia della riga di comando disponibile è sempre la versione più recente e l'autenticazione si basa sull'utente corrente. Il calcolo deve soddisfare i requisiti seguenti:
- Nel cluster deve essere installato Databricks Runtime 15.0 o versione successiva.
- L'area di lavoro non deve essere abilitata per collegamento privato.
Avviare il terminale Web ed eseguire il comando seguente per restituire informazioni sull'utente corrente:
databricks current-user me
Sono disponibili anche i comandi bundle, che consentono di creare e gestire i bundle di asset di Databricks direttamente dal terminale Web all'interno dell'area di lavoro databricks. Ad esempio, per creare, distribuire ed eseguire un bundle semplice usando il modello predefinito:
Dalla radice del terminale Web passare alla home page dell'area di lavoro ed eseguire
bundle init
:cd /Workspace/Users/someone@example.com databricks bundle init
Accettare le richieste del modello predefinito, quindi passare alla directory del bundle e distribuirla:
cd my_project databricks bundle deploy
È possibile visualizzare il bundle distribuito
my_project
nell'interfaccia utente dell'area di lavoro di Databricks.Eseguire infine il processo predefinito nel bundle:
databricks bundle run my_project_job
Passare a Esecuzioni processi per visualizzare il processo in esecuzione.
Limiti
Azure Databricks non supporta l'esecuzione di processi Spark dal terminale Web.
Il terminale Web di Azure Databricks non è disponibile nei tipi di calcolo seguenti:
- Calcolo dei processi
- Calcolo serverless
- Calcolo avviato con il set di
DISABLE_WEB_TERMINAL=true
variabili di ambiente. - Calcolo avviato con la modalità di accesso impostata su Condiviso.
- Calcolo avviato con la configurazione
spark.databricks.pyspark.enableProcessIsolation
di Spark impostata sutrue
.
È previsto un limite rigido di 12 ore dal caricamento della pagina iniziale, dopo il quale qualsiasi connessione, anche se attiva, verrà terminata. È possibile aggiornare il terminale Web per riconnettersi. Databricks consiglia di usare tmux per mantenere la sessione della shell.
Le risorse di calcolo arm non possono usare terminali Web per accedere ai file dell'area di lavoro, inclusi i file nelle cartelle Git.
L'abilitazione di Docker Container Services disabilita il terminale Web.