Aller au contenu principal

Exécuter des commandes shell dans le terminal Web Databricks

Le terminal web Databricks offre un moyen pratique et hautement interactif d’exécuter des commandes Shell dans une interface de ligne de commande (CLI), y compris des commandes CLI Databricks, afin d’effectuer des actions sur des objets Databricks par programme. C'est particulièrement utile pour les cas d'utilisation avancés, comme les Opérations par batch sur plusieurs fichiers, que les interfaces utilisateur (IU) existantes pourraient ne pas prendre entièrement en charge.

Contrairement à l'utilisation de SSH, de nombreux utilisateurs peuvent utiliser le terminal web sur un seul compute et cela ne nécessite pas de configurer des clés.

Vous pouvez utiliser le terminal web pour faire ce qui suit :

  • Effectuer des modifications rapides de fichiers en utilisant Vim ou Emacs.
  • Surveillez l'utilisation des Ressources avec des commandes telles que htop (utilisation des clusters) ou nvidia-smi (utilisation du GPU).
  • Exécuter les scripts Python non-Spark.
  • Exécutez des opérations de fichier avec des commandes Shell telles que mv et mkdir.
  • Installer et gérer des bibliothèques sur le compute.
  • Utilisez la CLI de Databricks pour automatiser divers aspects de Databricks.

Exigences

attention

Databricks utilise le service de terminal Web depuis le port 7681 du Driver Spark du compute. Ce proxy Web est destiné à être utilisé uniquement avec le terminal Web. Si le port est occupé au start du compute ou s'il existe un type de conflit, le terminal Web risque de ne pas fonctionner comme prévu. Si d'autres services web sont lancés sur le port 7681, les utilisateurs de compute pourraient être exposés à des failles de sécurité potentielles. Databricks n'est pas responsable des problèmes résultant de l'installation d'un logiciel non pris en charge sur un compute.

  • Le terminal Web est désactivé par default pour tous les utilisateurs du Workspace. Pour l'activer, consultez Activer le terminal web.
  • Autorisation CAN ATTACH TO sur un compute.
  • Pour utiliser le terminal web avec le mode d'accès standard (anciennement mode d'accès partagé), le compute doit être sur Databricks Runtime 15.1 ou version supérieure.

Lancer le terminal Web

Vous pouvez lancer le terminal web à partir de la page des détails du compute ou d'un notebook.

À partir d’un Notebook

Pour lancer le terminal Web depuis un notebook :

  1. Connecter le Notebook au compute.
  2. En bas de la barre latérale droite du Notebook, cliquez sur l'icône de terminal Icône de terminal. pour lancer le terminal Web.
  3. Vous pouvez également cliquer sur la liste déroulante du compute associé, passer la souris sur le compute associé, puis cliquer sur Terminal web .

Le terminal web s'ouvre dans un panneau en bas de l'écran. Les boutons en haut à droite du panneau vous permettent de :

  • Icône de nouvelle fenêtre. Ouvrez une nouvelle session de terminal dans un nouvel tab.
  • Icône de synchronisation. Recharger une session de terminal.
  • Icône de fermeture. Fermez le panneau inférieur. Pour rouvrir le panneau, cliquez sur Icône de terminal. en bas de la barre latérale droite.

Depuis la page des détails du compute

Pour lancer le terminal Web à partir de la page des détails du compute :

  1. Dans la barre latérale du Workspace, cliquez sur Compute .
  2. Dans le **tab** **Compute multifonction**, cliquez sur le nom du compute.
  3. Cliquez sur start pour démarrer le compute.
  4. Dans l'onglet **Applications**, cliquez sur **Terminal Web**.

Un nouvel tab s'ouvre avec l'interface utilisateur du terminal web et l'invite Bash.

Utiliser le terminal Web

Dans le terminal Web, vous pouvez exécuter des commandes en tant que root à l'intérieur du conteneur du nœud du Driver compute.

Chaque utilisateur peut avoir jusqu'à 100 sessions de terminal web actives (tab) ouvertes. Les sessions de terminal web inactives peuvent expirer et l'application web du terminal web se reconnectera, ce qui entraînera un nouveau processus Shell. Si vous souhaitez conserver votre session Bash, Databricks recommande d'utiliser tmux.

Exécuter des commandes CLI Databricks

Vous pouvez également utiliser le terminal web pour exécuter des commandes CLI Databricks. Le CLI disponible est toujours la dernière version, et l'authentification est basée sur l'utilisateur actuel.

remarque

Les commandes de profil de configuration ne sont pas prises en charge lors de l'exécution des commandes CLI dans le terminal web. Ceci est dû au fait que le terminal web utilise des variables d'environnement pour s'authentifier auprès de l'interface CLI, ce qui précède les profils de configuration dans l'ordre d'évaluation de l'authentification.

Le compute doit répondre aux exigences suivantes :

  • Databricks Runtime 15.0 ou version ultérieure

  • Le Workspace ne doit pas être activé pour PrivateLink.

Lancez le terminal web et exécutez la commande suivante pour afficher des informations sur l’utilisateur actuel :

Bash
   databricks current-user me

Des commandes de Bundle sont également disponibles, ce qui vous permet de créer et de gérer vos Declarative Automation Bundles directement depuis le terminal web au sein du workspace Databricks. Par exemple, pour créer, déployer et exécuter un bundle simple à l’aide du default Template :

  1. À partir de la racine du terminal Web, accédez à l'accueil de votre Workspace et exécutez bundle init:

    Bash
    cd /Workspace/Users/someone@example.com
    databricks bundle init
  2. Acceptez les invites de Template default, puis accédez au répertoire du bundle et déployez-le :

    Bash
    cd my_project
    databricks bundle deploy

    Vous pouvez afficher le bundle my_project déployé dans l’interface utilisateur de Databricks Workspace.

  3. Enfin, exécutez le job par default dans le bundle :

    Bash
    databricks bundle run my_project_job

    Accédez à Exécutions du job pour voir le job en cours d'exécution.

Configurer votre Terminal Web

Vous pouvez définir des configurations persistantes pour votre terminal web en utilisant .bashrc fichiers de configuration.

Databricks source automatiquement les fichiers nommés .bashrc depuis le dossier d'accueil du système de fichiers de votre workspace. Les paramètres de ces fichiers sont automatiquement activés chaque fois que vous start une nouvelle session de terminal.

Si vous souhaitez sourcer d'autres fichiers (tels que .zshrc) pour votre expérience de terminal web, sourcez-les depuis votre .bashrc fichier pour conserver la configuration.

Enregistrez tous les fichiers de configuration dans votre dossier Workspace où vous pouvez les configurer à l'aide d'un éditeur de texte.

Limitations

  • Databricks ne prend pas en charge l'exécution de jobs Spark à partir du terminal web.

  • Le terminal Web Databricks n'est pas disponible dans les types de compute suivants :

    • Jobs compute
    • Compute lancé avec la variable d'environnement DISABLE_WEB_TERMINAL=true définie.
    • Compute standard sur la version de Databricks Runtime inférieure à 15.1.
    • Compute standard avec des types d'instance ARM sur Databricks Runtime inférieur à 16,4.
    • Compute serverless utilisant l'environnement serverless version 1.
    • Compute lancé avec la configuration Spark spark.databricks.pyspark.enableProcessIsolation définie sur true.
  • Il y a une limite stricte de 12 heures depuis le chargement initial de la page, après quoi toute connexion, même si active, sera terminée. Vous pouvez refresh le terminal Web pour vous reconnecter. Databricks vous recommande d'utiliser tmux pour conserver votre session Shell.

  • Les ressources de compute ARM sur Databricks Runtime inférieures à 16.4 ne peuvent pas utiliser les terminaux web pour accéder aux fichiers du workspace, y compris les fichiers dans les dossiers Git.

  • L'activation des Docker Container Services désactive le terminal web.