Limites & FAQ para integração do Git com as pastas Git da Databricks
As pastas do Databricks Git e a integração do Git têm limites especificados nas seções a seguir. Para obter informações gerais, consulte Limites do Databricks.
Limites de tamanho de arquivo e repositório
Databricks não impõe um limite no tamanho de um repositório. No entanto:
As ramificações de trabalho são limitadas a 200 MB.
Os arquivos individuais workspace estão sujeitos a um limite de tamanho separado. Para mais detalhes, leia Limitações.
Arquivos maiores que 10 MB não podem ser view na interface do usuário do Databricks.
Databricks recomenda que em um repositório:
O número total de todos os arquivos não excede 10.000.
O número total de Notebook não excede 5.000.
Para qualquer transação do Git, o uso de memória é limitado a 2 GB e as gravações em disco são limitadas a 4 GB. Como o limite é por operações, você falhará se tentar clonar um repo Git com 5 GB de tamanho atual. No entanto, se você clonar um repo Git com 3 GB de tamanho em uma transação e adicionar 2 GB a ele posteriormente, a próxima transação pull será bem-sucedida.
Você pode receber uma mensagem de erro se seu repositório exceder esses limites. Você também pode receber um erro de tempo limite ao clonar o repositório, mas as operações podem ser concluídas em segundo plano.
Para trabalhar com repositórios maiores que os limites de tamanho, experimente o checkout esparso.
Se o senhor precisar gravar arquivos temporários que não deseja manter após o encerramento dos clusters, gravar os arquivos temporários em $TEMPDIR
evita exceder os limites de tamanho de ramificação e proporciona melhor desempenho do que gravar no diretório de trabalho atual (CWD) se o CWD estiver no sistema de arquivos workspace. Para obter mais informações, consulte Onde devo gravar arquivos temporários no Databricks?
Número máximo de repositórios por espaço de trabalho
Você pode ter no máximo 2.000 repositórios por workspace.
Configuração da pasta Git
Onde o conteúdo do repositório Databricks é armazenado?
O conteúdo de um repositório é temporariamente clonado no disco no plano de controle. Os arquivos do Databricks Notebook são armazenados no banco de dados do plano de controle, assim como Notebook no workspace principal. Os arquivos que não sãoNotebook são armazenados em disco por até 30 dias.
As pastas do Git são compatíveis com servidores Git locais ou auto-hospedados?
As pastas Git da Databricks são compatíveis com a integração do GitHub Enterprise, Bitbucket Server, Azure DevOps Server e GitLab Self-gerenciar, se o servidor estiver acessível pela Internet. Para obter detalhes sobre a integração de pastas Git com um servidor Git local, leia Servidor proxy Git para pastas Git.
Para integrar com um Bitbucket Server, GitHub Enterprise Server ou uma instância de inscrição autogerenciada do GitLab que não seja acessível pela Internet, entre em contato com sua equipe account do Databricks.
Quais tipos de ativos do Databricks são compatíveis com as pastas do Git?
Para obter detalhes sobre os tipos de ativos suportados, leia gerenciar arquivo ativo nas pastas Git da Databricks.
As pastas do Git suportam arquivos .gitignore
?
Sim. Se você adicionar um arquivo ao seu repositório e não quiser que ele seja rastreado pelo Git, crie um arquivo .gitignore
ou use um clonado de seu repositório remoto e adicione o nome do arquivo, incluindo a extensão.
.gitignore
funciona apenas para arquivos que ainda não são rastreados pelo Git. Se você adicionar um arquivo que já é rastreado pelo Git a um arquivo .gitignore
, o arquivo ainda será rastreado pelo Git.
Gerenciamento de fonte
Por que os painéis Notebook desaparecem quando eu puxo ou faço check-out de uma ramificação diferente?
Atualmente, esta é uma limitação porque os ficheiros de origem do Databricks Notebook não armazenam informações do painel Notebook .
Se você quiser preservar os painéis nos repositórios do Git, altere o formato Notebook para .ipynb
(o formato do Jupyter Notebook ). Por default, .ipynb
oferece suporte a definições de painel e visualização. Se quiser preservar os dados do gráfico (pontos de dados), você deverá commit o Notebook com saídas.
Para saber mais sobre as saídas do commit .ipynb
Notebook , consulte Permitir commit `.ipynb` Notebook output.
As pastas do Git suportam a fusão de ramificações?
Sim. Você também pode criar uma solicitação pull e merge por meio de seu provedor Git.
Posso excluir uma ramificação de um repositório Databricks?
Não. Para excluir uma ramificação, você deve trabalhar em seu provedor Git.
Se uma biblioteca for instalada em clusters e uma biblioteca com o mesmo nome for incluída em uma pasta dentro de um repositório, qual biblioteca será importada?
A biblioteca no repo é importada. Para obter mais informações sobre a precedência da biblioteca em Python, consulte Precedência da biblioteca Python.
Posso extrair a versão mais recente de um repositório do Git antes de executar um Job sem depender de uma ferramenta de orquestração externa?
Não. Normalmente, você pode integrar isso como um pré-commit no servidor Git para que cada push para uma ramificação (main/prod) atualize o repositório de produção.
Posso exportar um repositório?
O senhor pode exportar o Notebook, pastas ou um site inteiro repo. O senhor não pode exportar arquivos que não sejamNotebook. Se o senhor exportar um repo inteiro, os arquivos que não são doNotebook não serão incluídos. Para exportar, use o comando workspace export
na CLI do Databricks ou use a API do Workspace.
Segurança, autenticação e tokens
Problema com uma política de acesso condicional (CAP) para Microsoft Entra ID (anteriormente Azure Active Directory)
Ao tentar clonar um repositório, você pode receber uma mensagem de erro de “acesso negado” quando:
O Databricks está configurado para usar o Azure DevOps com autenticação Microsoft Entra ID.
Você habilitou uma política de acesso condicional no Azure DevOps e uma política de acesso condicional do Microsoft Entra ID.
Para resolver isso, adicione uma exclusão à política de acesso condicional (CAP) para o endereço IP ou usuários do Databricks.
Para mais informação, consulte Políticas de acesso condicional.
O conteúdo das pastas do Databricks Git é criptografado?
O conteúdo das pastas Git da Databricks é criptografado pela Databricks usando um default key. A criptografia usando a chave gerenciadora do cliente não é suportada, exceto ao criptografar suas credenciais do Git.
Como e onde os tokens do GitHub são armazenados no Databricks? Quem teria acesso do Databricks?
Os tokens de autenticação são armazenados no plano de controle do Databricks e um funcionário do Databricks só pode obter acesso por meio de uma credencial temporária que é auditada.
Databricks logs a criação e exclusão desses tokens, mas não seu uso. Databricks tem log que rastreia as operações Git que podem ser usadas para auditar o uso dos tokens pelo aplicativo Databricks.
O uso tokens de auditoria corporativa do GitHub. Outros serviços Git também podem ter auditoria de servidor Git.
CI/CD e MLOps
As alterações recebidas limpam o estado do Notebook
As operações do Git que alteram o código-fonte do Notebook resultam na perda do estado do Notebook, incluindo saídas de células, comentários, histórico de versões e widgets. Por exemplo, git pull
pode alterar o código-fonte de um Notebook. Nesse caso, as pastas Git do Databricks devem substituir o site Notebook existente para importar as alterações. git commit
e push
ou a criação de uma nova ramificação não afetam o código-fonte Notebook, portanto, o estado Notebook é preservado nessas operações.
Posso criar um experimento MLflow em um repositório?
Existem dois tipos de experimentos MLflow: workspace e Notebook. Para obter detalhes sobre os dois tipos de experimentos MLflow, consulte Organizar a execução do treinamento com experimentos MLflow.
Nas pastas do Git, é possível chamar mlflow.set_experiment("/path/to/experiment")
para um experimento do MLflow de qualquer tipo e log executá-lo, mas esse experimento e a execução associada não serão verificados no controle de origem.
Experimentos do Workspace MLflow
Não é possível criar experimentos do MLflow do espaço de trabalho em uma pasta Git do Databricks (pasta Git). Se vários usuários usarem pastas Git separadas para colaborar no mesmo código ML, log a execução do MLflow para um experimento MLflow criado em uma pasta workspace normal.
Experimentos de MLflow Notebook
Você pode criar experimentos Notebook em uma pasta Git do Databricks. Se você fizer check-in do seu Notebook no controle de origem como um arquivo .ipynb
, poderá logs a execução do MLflow em um experimento do MLflow criado e associado automaticamente. Para obter mais detalhes, leia sobre como criar experimentos Notebook .
Evite a perda de dados em experimentos do MLflow
Aviso
Sempre que você muda para uma ramificação que não contém Notebook, você corre o risco de perder os dados do experimento MLFlow associados. Essa perda torna-se permanente se a agência anterior não for acessada no prazo de 30 dias.
Para recuperar os dados perdidos do experimento antes do vencimento de 30 dias, renomeie o Notebook com o nome original, abra o Notebook, clique no ícone "experimento" no painel direito (isso também chama efetivamente a API mlflow.get_experiment_by_name()
) e você poder ver o experimento recuperado e sua execução. Após 30 dias, todos os experimentos órfãos do MLflow serão eliminados para atender às políticas compliance do GDPR.
Para evitar essa situação, o Databricks recomenda que você evite renomear Notebook em repositórios ou, se renomear um Notebook, clique no ícone “experimentar” no painel direito imediatamente após renomear um Notebook.
O que acontece se um Notebook Job estiver sendo executado em um espaço de trabalho enquanto uma operação Git estiver em andamento?
A qualquer momento enquanto uma operação do Git está em andamento, alguns Notebook no repositório podem ter sido atualizados enquanto outros não. Isso pode causar um comportamento imprevisível.
Por exemplo, suponha que notebook A
chame notebook Z
usando um comando %run
. Se um Job em execução durante uma transferência do Git iniciar a versão mais recente de notebook A
, mas notebook Z
ainda não tiver sido atualizado, o comando %run
no Notebook A poderá iniciar a versão mais antiga de notebook Z
. Durante as operações do Git, os estados Notebook não são previsíveis e o Job pode falhar ou a execução notebook A
e notebook Z
de commit diferentes.
Para evitar essa situação, use Job baseado em Git (onde a origem é um provedor Git e não um caminho workspace ). Para obter mais detalhes, leia Usar código-fonte controlado por versão em um Jobdo Databricks.
Recursos
Para obter detalhes sobre os arquivos do espaço de trabalho do Databricks, consulte O que são arquivos do espaço de trabalho?.