Ausführen von Shellbefehlen im Azure Databricks-Webterminal

Das Azure Databricks-Webterminal bietet Ihnen eine praktische und hochgradig interaktive Möglichkeit zum Ausführen von Shellbefehlen in einer Befehlszeilenschnittstelle (CLI), einschließlich Databricks CLI-Befehlen, um Aktionen für Databricks-Objekte programmgesteuert auszuführen. Es ist besonders hilfreich für erweiterte Anwendungsfälle, wie z. B. Batchvorgänge für mehrere Dateien, die von vorhandenen Benutzeroberflächen (UIs) gegebenenfalls nicht vollständig unterstützt werden.

Das Webterminal kann bei einem Compute von mehreren Benutzern eingesetzt werden.

Sie können das Webterminal für Folgendes einsetzen:

  • Schnelle Dateibearbeitungen mithilfe von Vim oder Emacs.
  • Überwachen des Ressourceneinsatzes mit Befehlen wie htop (Cluster-Auslastung) oder nvidia-smi (GPU-Auslastung).
  • Ausführen von Nicht-Spark Python-Skripts.
  • Ausführen von Dateivorgängen mit Shellbefehlen wie z. B. mv und mkdir.
  • Installieren und Verwalten von Bibliotheken beim Compute.
  • Verwenden der Databricks CLI zum Automatisieren verschiedener Aspekte von Azure Databricks.

Anforderungen

Warnung

Azure Databricks startet Proxys für den Webterminaldienst über Port 7681 auf dem Spark-Treiber des Rechners. Dieser Webproxy ist nur für die Verwendung mit dem Webterminal vorgesehen. Wenn der Port beim Compute-Start belegt ist oder eine Art von Konflikt besteht, funktioniert das Webterminal möglicherweise nicht wie erwartet. Wenn andere Webdienste über Port 7681 gestartet werden, sind Compute-Benutzer möglicherweise potenziellen Sicherheitsrisiken ausgesetzt. Weder Databricks noch Microsoft sind für Probleme verantwortlich, die sich aus der Installation nicht unterstützter Software in einem Rechner ergeben.

  • Webterminal ist standardmäßig für alle Arbeitsbereichsbenutzer deaktiviert. Informationen zum Aktivieren finden Sie unter Aktivieren des Webterminals.
  • KANN ANFÜGEN AN-Berechtigung in einem Rechner.
  • Die Berechnung muss als Zugriffsmodus einzelne Benutzer oder Keine isolation, gemeinsam genutzt verwenden.

Starten des Webterminals

Sie können das Webterminal über die Compute-Detailseite oder über ein Notebook starten.

In einem Notebook

So starten Sie das Webterminal aus einem Notebook:

  1. Verbinden Sie das Notebook mit der Berechnung.
  2. Klicken Sie unten auf der rechten Randleiste des Notebooks auf das Unteren Bereich öffnen-SymbolUnteren Bereich im Notebook öffnen.
  3. Alternativ können Sie auf die angefügte Compute-Dropdownliste klicken, mit der Maus auf den angefügten Compute zeigen und dann auf Webterminal klicken.

Das Webterminal wird in einem Panel am unteren Bildschirmrand geöffnet. Die Schaltflächen oben rechts im Bereich ermöglichen Folgendes:

  • Öffnen einer neuen Terminalsitzung in einer neuen Registerkarte Neue Terminalsitzung öffnen.
  • Erneutes Laden einer Terminalsitzung Terminalsitzung erneut laden.
  • Schließen des unteren PanelsUnteres Panel schließen. Um das Panel erneut zu öffnen, klicken Sie unten in der rechten Seitenleiste auf Unteres Panel erneut öffnen.

Auf der Seite „Computedetails“

So starten Sie das Webterminal über die Computedetails-Seite:

  1. Klicken Sie auf der Randleiste des Arbeitsbereichs auf Compute.
  2. Klicken Sie auf der Registerkarte Berechnung für alle Zwecke auf den Namen der Berechnung.
  3. Klicken Sie auf Start, um die Berechnung zu starten.
  4. Klicken Sie auf der Registerkarte Apps auf Webterminal.

Eine neue Registerkarte mit der Webterminal-Benutzeroberfläche und der Bash-Eingabeaufforderung wird geöffnet.

Verwenden des Webterminals

Im Webterminal können Sie Befehle aus root_Befehl innerhalb des Containers des Compute-Treiberknotens ausführen.

Jeder Benutzer kann bis zu 100 aktive Webterminalsitzungen (Registerkarten) geöffnet haben. Bei Webterminal-Sitzungen im Leerlauf kann es zu einem Timeout kommen; Die Webterminal-Webanwendung verbindet sich dann erneut, wodurch ein neuer Shell-Prozess entsteht. Wenn Sie Ihre Bash-Sitzung beibehalten möchten, empfiehlt Databricks tmux zu verwenden.

Ausführen von Databricks CLI-Befehlen

Sie können auch das Webterminal verwenden, um Databricks CLI-Befehle auszuführen. Die verfügbare CLI ist immer die neueste Version, und die Authentifizierung basiert auf dem aktuellen Benutzerkonto. Die Berechnung muss die folgenden Anforderungen erfüllen:

  • Auf dem Cluster muss Databricks Runtime 15.0 oder höher installiert sein.
  • Der Arbeitsbereich darf nicht für Private Link aktiviert sein.

Starten Sie das Webterminal und führen Sie den folgenden Befehl aus, um Informationen zum aktuellen Benutzer auszugeben:

   databricks current-user me

Bündelbefehle sind auch verfügbar, sodass Sie Ihre Databricks Asset Bundles direkt über das Webterminal innerhalb des Databricks-Arbeitsbereichs erstellen und verwalten können. Um beispielsweise ein einfaches Bündel mithilfe der Standardvorlage zu erstellen, bereitzustellen und auszuführen:

  1. Navigieren Sie im Stammverzeichnis des Webterminals zu Ihrer Arbeitsbereichs-Startseite und führen Sie Folgendes aus bundle init:

    cd /Workspace/Users/someone@example.com
    databricks bundle init
    
  2. Akzeptieren Sie die Standardvorlagenaufforderungen, wechseln Sie dann in das Bundleverzeichnis, und stellen Sie sie bereit:

    cd my_project
    databricks bundle deploy
    

    Sie können das bereitgestellte my_project-Bundle auf der Benutzeroberfläche des Databricks-Arbeitsbereichs anzeigen.

  3. Führen Sie schließlich den Standardauftrag im Bundle aus:

    databricks bundle run my_project_job
    

    Navigieren Sie zu Auftragsausführungen, um den ausgeführten Auftrag anzuzeigen.

Begrenzungen

  • Die Ausführung von Spark-Aufträgen über das Webterminal wird von Azure Databricks nicht unterstützt.

  • Azure Databricks Webterminal ist in den folgenden Compute-Typen nicht verfügbar:

    • Job Compute
    • Serverloses Computing
    • Rechner, die mit der Umgebungsvariable DISABLE_WEB_TERMINAL=true gestartet werden
    • Rechner, die mit dem Zugriffsmodus auf Freigegeben gestartet wurden.
    • Gestartete Rechner, bei denen die Spark-Konfiguration spark.databricks.pyspark.enableProcessIsolation auf true festgelegt ist.
  • Es gibt eine harte Grenze von 12 Stunden seit dem ersten Laden der Seite, nach der jede Verbindung, selbst wenn sie aktiv ist, beendet wird. Sie können das Webterminal aktualisieren, um die Verbindung erneut herzustellen. Databricks empfiehlt die Verwendung von tmux, um Ihre Shellsitzung beizubehalten.

  • ARM-Computeressourcen können keine Webterminals für den Zugriff auf Arbeitsbereichsdateien verwenden, einschließlich Dateien in Git-Ordnern.

  • Durch das Aktivieren von Docker-Containerdiensten wird das Webterminal deaktiviert.