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) ounvidia-smi(utilisation du GPU). - Exécuter les scripts Python non-Spark.
- Exécutez des opérations de fichier avec des commandes Shell telles que
mvetmkdir. - Installer et gérer des bibliothèques sur le compute.
- Utilisez la CLI de Databricks pour automatiser divers aspects de Databricks.
Exigences
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 :
- Connecter le Notebook au compute.
- En bas de la barre latérale droite du Notebook, cliquez sur l'icône de terminal
pour lancer le terminal Web.
- 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 :
Ouvrez une nouvelle session de terminal dans un nouvel tab.
Recharger une session de terminal.
Fermez le panneau inférieur. Pour rouvrir le panneau, cliquez sur
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 :
- Dans la barre latérale du Workspace, cliquez sur Compute .
- Dans le **tab** **Compute multifonction**, cliquez sur le nom du compute.
- Cliquez sur start pour démarrer le compute.
- 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.
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 :
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 :
-
À partir de la racine du terminal Web, accédez à l'accueil de votre Workspace et exécutez
bundle init:Bashcd /Workspace/Users/someone@example.com
databricks bundle init -
Acceptez les invites de Template default, puis accédez au répertoire du bundle et déployez-le :
Bashcd my_project
databricks bundle deployVous pouvez afficher le bundle
my_projectdéployé dans l’interface utilisateur de Databricks Workspace. -
Enfin, exécutez le job par default dans le bundle :
Bashdatabricks bundle run my_project_jobAccé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=truedé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.enableProcessIsolationdéfinie surtrue.
-
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.