Compartilhar via


Executar comandos shell no terminal web do Azure Databricks

O terminal Web do Azure Databricks fornece uma maneira conveniente e altamente interativa de executar comandos do shell em uma CLI (interface de linha de comando), incluindo comandos da CLI do Databricks, para executar ações em objetos do Databricks programaticamente. É especialmente útil para casos de uso avançado, como operações em lote em vários arquivos, que as interfaces do usuário (UIs) existentes podem não dar suporte total.

Diversos usuários podem usar o terminal da Web em uma computação.

É possível usar o terminal da Web para fazer o seguinte:

  • Fazer edições rápidas de arquivos usando o Vim ou o Emacs.
  • Monitorar o uso de recursos com comandos como htop (uso do cluster) ou nvidia-smi (uso da GPU).
  • Executar scripts não Spark do Python.
  • Executar operações de arquivo com comandos da shell, como mv e mkdir.
  • Instalar e gerenciar bibliotecas na computação.
  • Usar a CLI do Databricks para automatizar vários aspectos do Azure Databricks.

Requisitos

Aviso

O Azure Databricks faz proxies do serviço de terminal Web da porta 7681 no driver Spark da computação. Esse proxy Web destina-se a uso exclusivo com o terminal da Web. Se a porta estiver ocupada quando a computação for iniciada ou se houver algum tipo de conflito, o terminal da Web pode não funcionar como esperado. Se outros serviços Web forem iniciados na porta 7681, os usuários de computação podem ser expostos a possíveis explorações de segurança. Nem o Databricks nem a Microsoft são responsáveis por quaisquer problemas resultantes da instalação de software sem suporte em uma computação.

  • O terminal da Web é desabilitado por padrão para todos os usuários do espaço de trabalho. Para habilitá-lo, consulte Habilitar o terminal Web.
  • Permissão PODE ANEXAR A em uma computação.
  • A computação deve usar um modo de acesso de usuário único ou Nenhum isolamento compartilhado.

Iniciar o terminal da Web

Você pode iniciar o terminal da Web na página de detalhes de computação ou em um notebook.

Em um notebook

Para iniciar o terminal Web a partir de um notebook:

  1. Conecte o notebook à computação.
  2. Na parte inferior da barra lateral direita do notebook, clique no ícone Abrir painel inferior Abra o painel inferior no notebook.
  3. Como alternativa, clique na lista suspensa de computação anexada, passe o mouse sobre a computação anexada e clique em Terminal da Web.

O terminal da Web é aberto em um painel na parte inferior da tela. Os botões no canto superior direito do painel permitem que você:

  • Abra uma nova sessão de terminal em uma nova guia abrir uma nova sessão de terminal.
  • Recarregar uma sessão de terminal recarregar a sessão de terminal.
  • Feche o painel inferior fechar o painel inferior. Para reabrir o painel, clique em reabrir o painel inferior na parte inferior da barra lateral direita.

Na página de detalhes de computação

Para iniciar o terminal Web na página de detalhes de computação:

  1. Na barra lateral do workspace, clique em Computação.
  2. Na guia Computação para todos os fins, clique no nome da computação.
  3. Clique em Iniciar para iniciar a computação.
  4. Na guia Aplicativos, clique em Terminal da Web.

Uma nova guia é aberta com a interface do usuário do terminal da Web e o prompt do Bash.

Usar o terminal da Web

No terminal da Web, você pode executar comandos cda raiz dentro do contêiner do nó do driver de computação.

Cada usuário pode ter até 100 sessões de terminal da Web (guias) ativas abertas. Sessões de terminal da Web ociosas podem atingir o tempo limite e, nesse caso, o aplicativo Web do terminal Web se reconectará, resultando em um novo processo de shell. Se você quiser manter sua sessão do Bash, a Databricks recomenda o uso de tmux.

Executar comandos da CLI do Databricks

Você também pode usar o terminal Web para executar comandos da CLI do Databricks. A CLI disponível é sempre a versão mais recente e a autenticação é baseada no usuário atual. O nome da computação precisa atender aos seguintes requisitos:

  • O cluster deve ter o Databricks Runtime 15.0 ou superior instalado.
  • O workspace não deve ser habilitado no Link Privado.

Inicie o terminal Web e execute o seguinte comando para gerar informações sobre o usuário atual:

   databricks current-user me

Os comandos de pacote também estão disponíveis, o que permite que você crie e gerencie seus Pacotes de Ativos do Databricks diretamente do terminal Web dentro do workspace do Databricks. Por exemplo, para criar, implantar e executar um pacote simples usando o modelo padrão:

  1. Na raiz do terminal da Web, navegue até sua página inicial do workspace e execute bundle init:

    cd /Workspace/Users/someone@example.com
    databricks bundle init
    
  2. Aceite os prompts de modelo padrão e, em seguida, altere para o diretório do pacote e implante-os:

    cd my_project
    databricks bundle deploy
    

    Você pode exibir o pacote implantado my_project na interface do usuário do workspace do Databricks.

  3. Por fim, execute o trabalho padrão no pacote:

    databricks bundle run my_project_job
    

    Navegue até Execuções de Trabalho para ver o trabalho em execução.

Limitações

  • O Azure Databricks não oferece suporte à execução de trabalhos do Spark a partir do terminal da Web.

  • Além disso, o terminal da Web do Azure Databricks não está disponível nos seguintes tipos de computação:

    • Computação de trabalho
    • Computação sem servidor
    • Computação iniciada com o conjunto de variáveis de ambiente DISABLE_WEB_TERMINAL=true.
    • Computação iniciada com o modo de acesso definido como Compartilhado.
    • Computação iniciada com a configuração do Spark spark.databricks.pyspark.enableProcessIsolation definida como true.
  • Depois de 12 horas após a carga inicial da página, todas as conexões (mesmo ativas) serão impreterivelmente encerradas. Você pode atualizar o terminal da Web para se reconectar. O Databricks recomenda usar o tmux para preservar a sessão do shell.

  • Os recursos de computação ARM não podem usar terminais web para acessar arquivos do espaço de trabalho, incluindo arquivos em pastas Git.

  • A habilitação dos Serviços de Contêiner do Docker desabilita o terminal da Web.