Compartilhar via


Usar dbx para sincronizar arquivos locais com workspaces remotos em tempo real

Importante

Esta documentação foi desativada e pode não estar atualizada.

O Databricks recomenda que, em vez de dbx sync, você use a CLI do Databricks versões 0.205 ou superiores, que inclui uma funcionalidade semelhante a dbx sync por meio do comando databricks sync.

A extensão do Databricks para Visual Studio Code também inclui uma funcionalidade similar a dbx sync integrada ao IDE do Visual Studio Code. Observe que dbx sync pode sincronizar as alterações de arquivo de um computador de desenvolvimento local para o DBFS, e pastas Git do Databricks em seus workspaces do Azure Databricks. A extensão do Databricks para Visual Studio Code dá suporte à sincronização de alterações de arquivo somente para arquivos de usuário do workspace (/Users) e das pastas Git do Databricks (/Repos).

Observação

Este artigo aborda o dbx do Databricks Labs, que é fornecido no estado em que se encontra e não tem suporte do Databricks por meio de canais de suporte técnico ao cliente. As dúvidas e solicitações de recursos podem ser comunicadas por meio da página Problemas do repositório databrickslabs/dbx no GitHub.

Você pode executar a sincronização em tempo real de alterações em arquivos no computador de desenvolvimento local com os arquivos correspondentes nos workspaces do Azure Databricks usando o dbx do Databricks Labs. Esses arquivos de workspace podem estar em DBFS ou no pastas Git do Databricks.

A sincronização de arquivos em tempo real com dbx (também conhecida como dbx sync) é útil em cenários rápidos de desenvolvimento de código. Por exemplo, você pode usar um IDE (ambiente de desenvolvimento integrado) local para recursos de produtividade, como realce de sintaxe, preenchimento de código inteligente, lint de código e teste e depuração. Em seguida, você pode ir imediatamente ao seu workspace e executar o código atualizado.

Você pode usar o dbx sync sozinho, com trabalhos automatizados ou com um IDE.

Fluxos de trabalho de desenvolvimento do dbx sync

Há dois fluxos de trabalho de desenvolvimento para dbx sync, um com DBFS e outro com as pastas Git do Databricks.

O fluxo de trabalho de desenvolvimento típico com dbx sync e DBFS é:

  1. Identificar um diretório local que contém os arquivos que você deseja sincronizar com o DBFS.
  2. Identificar o caminho no DBFS com o qual você deseja que seu diretório local seja sincronizado (ou deixar o dbx sync criar um caminho DBFS padrão).
  3. Executar o dbx sync dbfs para sincronizar seu diretório local com o caminho DBFS. O dbx sync começa a observar o diretório local quanto a quaisquer alterações de arquivo.
  4. Fazer alterações nos arquivos em seu diretório local conforme necessário. O dbx sync aplica essas alterações aos arquivos correspondentes no caminho DBFS em tempo real.

O fluxo de trabalho de desenvolvimento típico com dbx sync e pastas Git do Databricks é:

  1. Criar um repositório com um provedor Git compatível com pastas Git do Databricks, se você ainda não tiver um repositório disponível.
  2. Clonar seu repositório remoto no workspace do Azure Databricks.
  3. Clonar seu repositório em seu computador de desenvolvimento local.
  4. Executar o dbx sync repo para associar seu repositório clonado local ao repositório clonado do workspace. O dbx sync começa a observar o diretório local quanto a quaisquer alterações de arquivo.
  5. Fazer alterações nos arquivos em seu repositório clonado local, conforme necessário. O dbx sync aplica essas alterações aos arquivos correspondentes nas pastas Git do Databricks em tempo real.
  6. Envie arquivos atualizados periodicamente do repositório clonado em seu workspace para seu provedor Git para que o repositório permaneça atualizado com o provedor Git.

Importante

O dbx sync executa apenas a sincronização unidirecional em tempo real de alterações de arquivo do computador de desenvolvimento local para o workspace remoto. Portanto, o Databricks não recomenda iniciar alterações no workspace do Azure Databricks para arquivos monitorados por dbx sync. Se precisar fazer essas alterações de arquivo iniciadas pelo workspace, você também deverá fazer o seguinte:

  • Para alterações de arquivo no DBFS, faça as alterações correspondentes aos arquivos locais manualmente.
  • Para alterações de arquivo nas pastas Git do Databricks, envie por push as alterações de arquivo do workspace para o provedor Git. Em seguida, no computador de desenvolvimento local, efetue pull dessas alterações de arquivo do provedor Git.

Requisitos

Se você quiser usar dbx sync com as pastas Git do Databricks, seu workspace do Azure Databricks deverá atender ao seguinte requisito:

  • Um clone do repositório com seu provedor Git, embora não seja necessário, é sugerido.

No computador de desenvolvimento local, você deve ter o seguinte instalado:

  • Python versão 3.8 ou superior. Para verificar se o Python está instalado e checar a versão instalada, execute python --version no terminal do PowerShell.

    python --version
    

    Observação

    Algumas instalações de python podem exigir que você use python3 em vez de python. Nesse caso, substitua python por python3 neste artigo.

  • pip. Para verificar se o pip está instalado e verificar a versão instalada do pip, execute pip --version ou python -m pip --version.

    pip --version
    
    # Or...
    
    python -m pip --version
    

    Observação

    Algumas instalações de pip podem exigir que você use pip3 em vez de pip. Nesse caso, substitua pip por pip3 neste artigo.

  • dbx versão 0.8.0 ou superior. Para verificar se o dbx está instalado e checar a versão instalada do dbx, execute dbx --version. Para instalar o dbx por meio do PyPI (Índice de Pacotes do Python), execute pip install dbx ou python -m pip install dbx. (dbx inclui dbx sync.)

    # Check whether dbx is installed, and check its version.
    dbx --version
    
    # Install dbx.
    pip install dbx
    
    # Or...
    python -m pip install dbx
    

    Observação

    Para obter mais informações sobre dbx, consulte dbx by Databricks Labs e a documentação dbx.

  • A CLI do Databricks versão 0.18 ou inferior, configurada com autenticação. A CLI herdada do Databricks (versões 0.17 e inferiores da CLI do Databricks) é instalada automaticamente quando você instala o dbx. Essa autenticação pode ser configurada em seu computador de desenvolvimento local em um ou ambos os seguintes locais:

    • Nas variáveis de ambiente DATABRICKS_HOST e DATABRICKS_TOKEN (a partir da versão 0.8.0 da CLI do Databricks herdada).
    • Em um perfil de configuração do Azure Databricks no arquivo .databrickscfg.

    dbx procura credenciais de autenticação nesses dois locais, respectivamente. dbx usa apenas o primeiro conjunto de credenciais correspondentes que ele encontra.

    Observação

    Se você usar um arquivo .databrickscfg, o dbx sync vai procurar nele um perfil de configuração denominado DEFAULT por padrão. Para especificar um perfil diferente, use a opção --profile ao executar o comando dbx sync posteriormente neste artigo.

    O dbx não dá suporte ao uso de um arquivo .netrc para autenticação.

  • Para usar dbx sync com as pastas Git do Databricks, sugerimos um clone local do repositório com o provedor Git, embora não seja necessário. Para executar um clone local, consulte a documentação do provedor Git.

Usar DBFS com dbx sync

  1. No terminal ou no PowerShell em seu computador de desenvolvimento local, altere para o diretório que contém os arquivos que você deseja sincronizar com o DBFS no workspace do Azure Databricks.

  2. Execute o comando dbx sync para sincronizar seu diretório local com o DBFS no workspace da maneira a seguir. (Não se esqueça do ponto (.) no final, que representa o diretório atual.)

    dbx sync dbfs --source .
    

    Dica

    Para especificar um diretório de origem diferente, substitua o ponto (.) por um caminho diferente.

    Observação

    Se o erro Error: No such command 'sync' aparecer, provavelmente a instalação do dbx está desatualizada. Para corrigir isso, execute pip install --upgrade dbx==<version> ou python -m pip install --upgrade dbx==version, em que <version> é a última versão de dbx. Esse número de versão pode ser encontrado na página da Web PyPI para dbx.

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  3. O dbx sync começa a sincronizar arquivos em seu diretório local atual com arquivos no caminho DBFS a seguir em seu workspace. O dbx sync confirma isso imprimindo Target base path seguido pelo caminho DBFS, por exemplo:

    /tmp/users/<your-Databricks-username>/<local-directory-name>
    

    Dica

    Para especificar um nome de usuário ou caminho DBFS diferente, especifique as opções --user e --dest respectivamente ao executar dbx sync.

  4. Faça alterações em seus arquivos locais, conforme necessário.

    Importante

    Você deve manter seu terminal ou PowerShell aberto para o dbx sync continuar sincronizando. Se você fechar o terminal ou o PowerShell, o dbx sync vai parar de observar as alterações de arquivo e de sincronizar. Para retomar a sincronização de alterações de arquivo, repita esse procedimento desde o início.

  5. Conforme necessário, verifique as alterações de arquivo no caminho anterior no DBFS em seu workspace.

Use pastas Git do Databricks com dbx sync

  1. No terminal ou no PowerShell em seu computador de desenvolvimento local, altere para o diretório raiz que contém o clone do repositório com o provedor Git.

  2. No workspace do Azure Databricks, identifique o nome da pastas Git do Databricks com o qual deseja sincronizar seu repositório clonado local. Você pode encontrar esse nome de repositório clicando em pastas Git na barra lateral do workspace.

  3. Em seu computador de desenvolvimento local, execute o comando dbx sync para sincronizar seu repositório clonado local com as pastas Git do Databricks no workspace da maneira a seguir, substituindo <your-repo-name> pelo nome do repositório nas pastas Git do Databricks. (Não se esqueça do ponto (.) no final, que representa o diretório atual.)

    dbx sync repo -d <your-repo-name> --source .
    

    Dica

    Para especificar um diretório de origem diferente, substitua o ponto (.) por um caminho diferente.

    Observação

    Se o erro Error: No such command 'sync' aparecer, provavelmente a instalação do dbx está desatualizada. Para corrigir isso, execute pip install --upgrade dbx==<version> ou python -m pip install --upgrade dbx==version, em que <version> é a última versão de dbx. Esse número de versão pode ser encontrado na página da Web PyPI para dbx.

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  4. O dbx sync começa a sincronizar arquivos em seu repositório clonado local com arquivos pastas Git do Databricks em seu workspace. O dbx sync confirma isso imprimindo Target base path seguido pelo caminho das pastas Git do Databricks, por exemplo:

    /Repos/<your-Databricks-username>/<your-repo-name>
    

    Dica

    Para especificar um nome de usuário ou nome de repositório diferente, especifique as opções --user e --dest-repo respectivamente ao executar dbx sync.

  5. Faça alterações em seus arquivos locais, conforme necessário.

    Importante

    Você deve manter seu terminal ou PowerShell aberto para o dbx sync continuar sincronizando. Se você fechar o terminal ou o PowerShell, o dbx sync vai parar de observar as alterações de arquivo e de sincronizar. Para retomar a sincronização de alterações de arquivo, repita esse procedimento desde o início.

  6. Conforme necessário, verifique as alterações de arquivo nas pastas Git do Databricks em seu workspace.

Recursos adicionais