Instalar dependências do notebook
Você pode instalar dependências do Python para notebooks sem servidor usando o painel lateral Ambiente. Este painel fornece um único local para editar, exibir e exportar os requisitos de biblioteca de blocos de anotações’. Essas dependências podem ser adicionadas usando um ambiente de base ou individualmente.
Para tarefas que não são de notebook, consulte Configurar ambientes e dependências para tarefas que não são do notebook.
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 de base
Um ambiente de base é um arquivo YAML armazenado como um arquivo de espaço de trabalho ou em um volume do Catálogo do Unity que especifica dependências de ambiente adicionais. Ambientes de base podem ser compartilhados entre notebooks. Para configurar um ambiente de base:
Crie um arquivo YAML que defina as configurações para um ambiente virtual do Python. O exemplo de YAML a seguir, que se baseia na especificação de ambiente de projetos do MLflow, define um ambiente de 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
Carregue o arquivo YAML como um arquivo de espaço de trabalho ou em um volume do Catálogo do Unity. Confira Importar um arquivo ou Carregar arquivos em um volume do Catálogo do Unity.
À direita do notebook, clique no botão
para expandir o painel lateral Ambiente. Esse botão só aparece quando um notebook está conectado à computação sem servidor.
No campo Ambiente Base, insira o caminho do arquivo YAML carregado ou navegue até ele e o selecione.
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 de base instalando as dependências individualmente.
Configurar o ambiente do notebook
Você também pode instalar dependências em um notebook conectado à computação sem servidor usando o painel lateral ambiente:
- À direita do notebook, clique no botão
para expandir o painel lateral Ambiente. Esse botão só aparece quando um notebook está conectado à computação sem servidor.
- Selecione a versão do ambiente no menu suspenso Versão do ambiente. Confira as versões de ambiente sem servidor. O Databricks recomenda escolher a versão mais recente para obter os recursos de notebook mais atualizados.
- 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.
- Clique em Aplicar. Isso instala as dependências no ambiente virtual do notebook e reinicia o processo do Python.
Observação
Um trabalho usando computação sem servidor instalará a especificação de ambiente do notebook antes de executar o código do notebook. Isso significa que não é necessário adicionar dependências ao agendar notebooks como trabalhos. Consulte Configurar ambientes e dependências.
Ver as dependências instaladas e os logs do pip
Para exibir dependências instaladas, clique em Instalado no painel Ambientes para um notebook. Os logs de instalação do pip para o ambiente do notebook também estão disponíveis clicando em Logs do pip na parte inferior do painel.
Redefinir o ambiente
Se o notebook estiver conectado à computação sem servidor, o Databricks armazenará o conteúdo do ambiente virtual do notebook em cache automaticamente. Isso significa que você geralmente não precisa reinstalar as dependências do Python especificadas no painel lateral Ambiente ao abrir um notebook existente, mesmo que ele tenha sido desconectado devido à inatividade.
O cache de ambiente virtual do 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.
Observação
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 selecionar a implementação mais recente.
Para limpar o cache do ambiente e executar uma nova instalação das dependências especificadas no painel lateral Ambiente de um notebook conectado à computação sem servidor, clique na seta ao lado de Aplicar e depois clique em Redefinir ambiente.
Observação
Redefina o ambiente virtual se você instalar pacotes que interrompam ou alterem o notebook principal ou o ambiente do Apache Spark. Desanexar o notebook da computação sem servidor e em seguida reanexá-lo não necessariamente limpa todo o cache do ambiente. A redefinição do ambiente reinstala todas as dependências especificadas no painel lateral Ambiente, portanto, verifique se os pacotes ofensivos são removidos antes da redefinição.
Configurar ambientes e dependências para tarefas que não são de notebook
Para outros tipos de tarefas suportadas, 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. Confira as versões de ambiente sem servidor. Se uma tarefa exigir uma biblioteca do Python que não esteja instalada, você poderá instalar a biblioteca por meio de arquivos de workspace, volumes do Catálogo do Unity ou repositórios de pacotes públicos. Para adicionar uma biblioteca ao criar ou editar uma tarefa:
No menu suspenso Ambiente e Bibliotecas, clique em
ao lado do ambiente Padrão ou clique em + Adicionar novo ambiente.
Selecione a versão do ambiente no menu suspenso Versão do ambiente. Confira as versões de ambiente sem servidor. O Databricks recomenda escolher a versão mais recente para obter os recursos mais atualizados.
Na caixa de diálogo Configurar ambiente, clique em + Adicionar biblioteca.
Selecione o tipo de dependência no menu suspenso em Bibliotecas.
Na caixa de texto Caminho do arquivo, insira o caminho para a biblioteca.
Para um Python Wheel em um arquivo de espaço de trabalho, o caminho deve ser absoluto e começar com
/Workspace/
.Para uma roda Python em um 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
.
- Clique em Confirmar ou +Adicionar biblioteca para adicionar outra biblioteca.
- Se você estiver adicionando uma tarefa, clique em Criar tarefa. Se você estiver editando uma tarefa, clique em Salvar tarefa.
Configurar repositórios de pacotes do Python padrão
Os administradores podem configurar repositórios de pacotes privados ou autenticados em workspaces como a configuração de pip padrão para notebooks sem servidor e trabalhos sem servidor. Isso permite que os usuários instalem pacotes de repositórios internos do Python sem definir explicitamente index-url
ou extra-index-url
. No entanto, se esses valores forem especificados em código ou em um notebook, eles têm precedência sobre os padrões do workspace.
Essa configuração aproveita segredos do Databricks para armazenar e gerenciar com segurança as URLs e as credenciais do repositório. Os administradores podem fazer a configuração usando a página de configurações de administrador do workspace ou usando um escopo de segredo predefinido e os comandos de segredos da CLI do Databricks ou a API REST.
Configurar usando a página de configurações de administrador do workspace
Os administradores do workspace podem adicionar ou remover os repositórios de pacote python padrão usando a página de configurações de administrador do workspace.
- Como administrador do workspace, faça logon no workspace do Databricks.
- Clique no seu nome de usuário na barra superior do workspace do Databricks e selecione Configurações.
- Clique na guia Computação.
- Ao lado de Repositórios de Pacote Padrão, clique em Gerenciar.
- (Opcional) Adicione ou remova uma URL de índice, URLs de índice extras ou um certificado SSL personalizado.
- Clique em Salvar para salvar as alterações.
Observação
Modificações ou exclusões em segredos são aplicadas depois de anexar novamente a computação sem servidor a notebooks ou executar novamente os trabalhos sem servidor.
Configurar usando a CLI de segredos ou a API REST
Para configurar repositórios de pacotes python padrão usando a CLI ou a API REST, crie um escopo de segredo predefinido e configure permissões de acesso e adicione os segredos do repositório de pacotes.
Nome do escopo do segredo predefinido
Os administradores do workspace podem definir URLs padrão de índice pip ou URLs extras de índice, juntamente com tokens de autenticação e segredos, em um escopo secreto designado usando chaves predefinidas.
- Nome do escopo do segredo:
databricks-package-management
- Chave secreta para index-url:
pip-index-url
- Chave secreta para urls de índice extra:
pip-extra-index-urls
- Chave secreta para conteúdo de certificação SSL:
pip-cert
Criar o escopo do segredo
Um escopo secreto pode ser criado usando os comandos de segredos da CLI do Databricks ou a API REST . Depois de criar o escopo do segredo, configure listas de controle de acesso para conceder acesso de leitura a todos os usuários do workspace. Isso garante que o repositório permaneça seguro e não possa ser alterado por usuários individuais. O escopo de segredo deve usar o nome predefinido de escopo de segredo 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 pacote do Python usando os nomes de chave secreta predefinidos, com 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 do repositório PyPI privado
Para modificar os segredos do repositório PyPI, use o comando put-secret
. Para excluir segredos do repositório PyPI, use delete-secret
conforme 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