Partilhar via


Instalar dependências do bloco de notas

Você pode instalar dependências Python para notebooks sem servidor usando o painel lateral Ambiente. Este painel fornece um único local para editar, visualizar e exportar os requisitos da biblioteca de um bloco de anotações. Essas dependências podem ser adicionadas usando um ambiente base ou individualmente.

Painel de ambiente sem servidor com políticas de orçamento

Para tarefas que não sejam do bloco de anotações, consulte Configurar ambientes e dependências para tarefas que não sejam do bloco de anotações.

Importante

Não instale o PySpark ou qualquer biblioteca que instale o PySpark como uma dependência em seus notebooks sem servidor. Isso interromperá sua sessão e resultará em um erro. Se isso ocorrer, remova a biblioteca e redefina seu ambiente.

Configurar um ambiente base

Um ambiente base é um arquivo YAML armazenado como um arquivo de espaço de trabalho ou em um volume do Catálogo Unity que especifica dependências de ambiente adicionais. Os ambientes básicos podem ser compartilhados entre notebooks. Para configurar um ambiente base:

  1. Crie um arquivo YAML que define configurações para um ambiente virtual Python. O exemplo a seguir YAML, que é baseado na especificação de ambiente de projetos MLflow, define um ambiente base com algumas dependências de biblioteca:

    client: "1"
    dependencies:
      - --index-url https://pypi.org/simple
      - -r "/Workspace/Shared/requirements.txt"
      - my-library==6.1
      - "/Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl"
      - git+https://github.com/databricks/databricks-cli
    
  2. Carregue o ficheiro YAML como um ficheiro de espaço de trabalho ou para um volume do Catálogo Unity. Consulte Importar um ficheiro ou Carregar ficheiros para um volume do Catálogo Unity.

  3. À direita do bloco de anotações, clique no ambiente botão para expandir o painel Ambiente . Esse botão só aparece quando um bloco de anotações está conectado à computação sem servidor.

  4. No campo Ambiente Base, insira o caminho do arquivo YAML carregado ou navegue até ele e selecione-o.

  5. Clique em Aplicar. Isso instala as dependências no ambiente virtual do notebook e reinicia o processo do Python.

Os usuários podem substituir as dependências especificadas no ambiente base instalando dependências individualmente.

Configurar o ambiente do bloco de anotações

Você também pode instalar dependências em um notebook conectado a compute sem servidor usando a seção Dependências do painel Ambiente:

  1. À direita do bloco de anotações, clique no ambiente botão para expandir o painel Ambiente . Esse botão só aparece quando um bloco de anotações está conectado à computação sem servidor.
  2. Selecione a versão do ambiente na lista suspensa Versão do ambiente . Consulte as versões do ambiente sem servidor . A Databricks recomenda escolher a versão mais recente para obter os recursos de notebook mais up-toatuais.
  3. Na seção Dependências, clique em Adicionar Dependência e insira o caminho da dependência da biblioteca no campo. Você pode especificar uma dependência em qualquer formato que seja válido em um arquivo requirements.txt .
  4. Clique em Aplicar. Isso instala as dependências no ambiente virtual do notebook e reinicia o processo do Python.

Nota

Um trabalho usando computação sem servidor instalará a especificação de ambiente do bloco de anotações antes de executar o código do bloco de anotações. Isso significa que não há necessidade de adicionar dependências ao agendar blocos de anotações como trabalhos. Consulte Configurar ambientes e dependências.

Exibir dependências instaladas e logs pip

Para ver as dependências instaladas, clique em Instalado no painel Ambientes de um bloco de anotações. Os registos de instalação do pip para o ambiente de notebook também estão disponíveis ao clicar em pip logs no fundo do painel.

Redefinir o ambiente

Se o seu bloco de notas estiver ligado a computação sem servidor, o Databricks armazenará automaticamente em cache o conteúdo do ambiente virtual do bloco de notas. Isso significa que você geralmente não precisa reinstalar as dependências Python especificadas no painel Ambiente quando abre um bloco de anotações existente, mesmo que ele tenha sido desconectado devido à inatividade.

O cache do ambiente virtual Python também se aplica a trabalhos. Quando um trabalho é executado, qualquer tarefa do trabalho que compartilha o mesmo conjunto de dependências que uma tarefa concluída nessa execução é mais rápida, pois as dependências necessárias já estão disponíveis.

Nota

Se você alterar a implementação de um pacote Python personalizado usado em um trabalho sem servidor, também deverá atualizar seu número de versão para que os trabalhos possam pegar a implementação mais recente.

Para limpar o cache do ambiente e executar uma nova instalação das dependências especificadas no painel Ambiente de um notebook ligado à computação sem servidor, clique na seta ao lado de Aplicar e, em seguida, clique em Redefinir ambiente.

Nota

Redefina o ambiente virtual se instalar pacotes que comprometam ou alterem o núcleo do notebook ou o ambiente do Apache Spark. Desanexar o notebook da computação sem servidor e reanexá-lo não necessariamente limpa todo o cache do ambiente. A redefinição do ambiente reinstala todas as dependências especificadas no painel Ambiente , portanto, certifique-se de que os pacotes ofensivos sejam removidos antes da redefinição.

Configurar ambientes e dependências para tarefas que não sejam do bloco de anotações

Para outros tipos de tarefas suportados, como script Python, roda Python ou tarefas dbt, um ambiente padrão inclui bibliotecas Python instaladas. Para ver a lista de bibliotecas instaladas, consulte a seção Bibliotecas Python instaladas da versão do cliente que você está usando. Consulte as versões do ambiente sem servidor . Se uma tarefa exigir uma biblioteca Python que não esteja instalada, você poderá instalá-la a partir de arquivos de espaço de trabalho , Unity Catalog volumesou repositórios de pacotes públicos. Para adicionar uma biblioteca ao criar ou editar uma tarefa:

  1. No menu suspenso Ambiente e Bibliotecas, clique aoÍcone Editarlado do Ambiente padrão ou clique em + Adicionar novo ambiente.

    Editar ambiente padrão

  2. Selecione a versão do ambiente na lista suspensa Versão do ambiente . Consulte as versões do ambiente sem servidor . A Databricks recomenda escolher a versão mais recente para obter os recursos mais up-todatados.

  3. Na caixa de diálogo Configurar ambiente, clique em + Adicionar biblioteca.

  4. Selecione o tipo de dependência no menu pendente em Bibliotecas.

  5. Na caixa de texto Caminho do Arquivo , insira o caminho para a biblioteca.

  • Para uma roda Python em um arquivo de espaço de trabalho, o caminho deve ser absoluto e começar com /Workspace/.

  • Para um Wheel Python num volume do Unity Catalog, o caminho deve ser /Volumes/<catalog>/<schema>/<volume>/<path>.whl.

  • Para um arquivo requirements.txt, selecione PyPi e digite -r /path/to/requirements.txt.

    Adicionar bibliotecas de tarefas

  1. Clique em Confirmar ou + Adicionar biblioteca para adicionar outra biblioteca.
  2. Se estiver a adicionar uma tarefa, clique em Criar tarefa. Se estiver editando uma tarefa, clique em Salvar tarefa.

Configurar repositórios de pacotes Python padrão

Os administradores podem configurar repositórios de pacotes privados ou autenticados em espaços de trabalho como a configuração padrão do pip para notebooks sem servidor e tarefas sem servidor. Isso permite que os usuários instalem pacotes de repositórios Python internos sem definir explicitamente index-url ou extra-index-url. No entanto, se esses valores forem especificados no código ou em um bloco de anotações, eles terão precedência sobre os padrões do espaço de trabalho.

Essa configuração aproveita segredos do Databricks para armazenar e gerenciar com segurança URLs e credenciais do repositório. Os administradores podem efetuar a configuração usando a página de configurações de administração do espaço de trabalho ou usando um escopo secreto predefinido e os comandos de segredos da CLI do Databricks ou a API REST .

Configuração usando a página de configurações de administração do espaço de trabalho

Os administradores de espaço de trabalho podem adicionar ou remover os repositórios de pacotes Python padrão usando a página de configurações de administração do espaço de trabalho.

  1. Como administrador do espaço de trabalho, faça login no espaço de trabalho Databricks.
  2. Clique em seu nome de usuário na barra superior do espaço de trabalho Databricks e selecione Configurações.
  3. Clique no separador Computação.
  4. Ao lado de Repositórios de Pacotes Padrão , clique em Gerenciar.
  5. (Opcional) Adicione ou remova um URL de índice, URLs de índice extra ou um certificado SSL personalizado.
  6. Clique em Guardar para guardar as alterações.

Nota

Modificações ou exclusões em segredos são aplicadas depois de reativar a computação sem servidor nos cadernos ou executar novamente os trabalhos sem servidor.

Configuração usando a CLI de 'secrets' ou a API REST

Para configurar repositórios de pacotes Python padrão usando a CLI ou a API REST, crie um escopo secreto predefinido e configure permissões de acesso e, em seguida, adicione os segredos do repositório de pacotes.

Nome do escopo secreto predefinido

Os administradores de espaço de trabalho podem definir URLs de índice pip padrão ou URLs de índice extra, juntamente com tokens de autenticação e segredos em um escopo secreto designado sob chaves predefinidas:

  • Nome do escopo secreto: databricks-package-management
  • Chave secreta para index-url: pip-index-url
  • Chave secreta para extra-index-urls: pip-extra-index-urls
  • Chave secreta para conteúdo de certificação SSL: pip-cert

Criar o escopo secreto

Um escopo secreto pode ser criado usando a CLI do Databricks comandos secrets ou o REST API. Depois de criar o escopo secreto, configure as listas de controle de acesso para conceder acesso de leitura a todos os usuários do espaço de trabalho. Isso garante que o repositório permaneça seguro e não possa ser alterado por usuários individuais. O escopo secreto deve usar o nome de escopo secreto predefinido databricks-package-management.

databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ

Adicionar segredos do repositório de pacotes Python

Adicione os detalhes do repositório de pacotes Python usando os nomes de chaves secretas predefinidos, com todos os três campos sendo opcionais.

# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'

# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'

# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'

Modificar ou excluir segredos privados do repositório PyPI

Para modificar segredos do repositório PyPI, use o comando put-secret. Para excluir segredos do repositório PyPI, use delete-secret como mostrado abaixo:

# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url

databricks secrets delete-secret databricks-package-management pip-extra-index-urls

databricks secrets delete-secret databricks-package-management pip-cert

# delete scope
databricks secrets delete-scope databricks-package-management