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.

Posso criar pastas de nível superior que não sejam pastas de usuário?

Sim, os administradores podem criar pastas de nível superior em uma única profundidade. As pastas Git não são compatíveis com níveis adicionais de pastas.

As pastas do Git são compatíveis com os submódulos do Git?

Não. Você pode clonar um repositório que contém submódulos Git, mas o submódulo não é clonado.

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?

Você pode exportar Notebook, pastas ou um repo inteiro. Você não pode exportar arquivos que não sejam doNotebook e, se exportar um repo inteiro, os arquivos que não sejam doNotebook não serão incluídos. Para exportar, use a CLI do Databricks - exportação do espaço de trabalho ou a API do espaço de trabalho.

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.

As pastas do Git são compatíveis com a assinatura GPG do commit?

Não.

As pastas do Git são compatíveis com SSH?

Não, apenas HTTPS.

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?.