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) o nvidia-smi (utilizzo GPU).
  • Eseguire script Python non Spark.
  • Eseguire operazioni di file con comandi della shell, mv ad esempio e mkdir.
  • 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.

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:

  1. Connettere il notebook al calcolo.
  2. Nella parte inferiore della barra laterale destra del notebook fare clic sull'icona Aprire il pannello inferiore nel notebookApri pannello inferiore.
  3. 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 aprire una nuova sessione del terminale.
  • Ricaricare una sessione ricaricare la sessione del terminaledel terminale .
  • Chiudere il pannello chiudi pannello inferioreinferiore . Per riaprire il pannello, fare clic riapri pannello inferiore nella parte inferiore della barra laterale destra.

Dalla pagina dei dettagli di calcolo

Per avviare il terminale Web dalla pagina dei dettagli di calcolo:

  1. Nella barra laterale dell'area di lavoro fare clic su Calcolo.
  2. Nella scheda Calcolo tutto scopo fare clic sul nome dell'ambiente di calcolo.
  3. Fare clic su Start per avviare il calcolo.
  4. 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:

  1. 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
    
  2. 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.

  3. 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 su true.
  • È 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.