Compartilhar via


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

Importante

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

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

A extensão do Databricks para Visual Studio Code também inclui funcionalidade semelhante à dbx sync integrada ao IDE do Visual Studio Code. Observe que dbx sync pode sincronizar alterações de arquivo de um computador de desenvolvimento local para DBFS, locais de workspace 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 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 em seu computador de desenvolvimento local com seus arquivos correspondentes em seus workspaces do Azure Databricks usando o dbx do Databricks Labs. Esses arquivos de workspace podem estar em DBFS ou em 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 ambiente de desenvolvimento integrado local (IDE) para recursos de produtividade, como realce de sintaxe, preenchimento de código inteligente, verificação de código, teste e depuração. Em seguida, você pode ir imediatamente para o workspace e executar o código atualizado.

Você pode usar dbx sync por si só, com trabalhos automatizados ou com um IDE.

dbx sync fluxos de trabalho de desenvolvimento

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

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

  1. Identifique um diretório local que contenha os arquivos que você deseja sincronizar com o DBFS.
  2. Identifique o caminho no DBFS com o qual você deseja que seu diretório local sincronize (ou deixe dbx sync criar um caminho DBFS padrão para você).
  3. Execute dbx sync dbfs para sincronizar seu diretório local com o caminho DBFS. dbx sync começa a observar o diretório local para quaisquer alterações de arquivo.
  4. Faça alterações nos arquivos em seu diretório local conforme necessário. 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 as pastas Git do Databricks é:

  1. Crie um repositório com um provedor Git que é suportado pelas pastas Git do Databricks, se você ainda não tiver um repositório já disponível.
  2. Clone seu repositório em seu workspace do Azure Databricks.
  3. Clone seu repositório em seu computador de desenvolvimento local.
  4. Execute dbx sync repo para associar seu repositório clonado local ao repositório clonado do workspace. dbx sync começa a observar o diretório local para quaisquer alterações de arquivo.
  5. Faça alterações nos arquivos em seu repositório clonado local conforme necessário. 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, de modo que o repositório permaneça atualizado com seu provedor Git.

Importante

dbx sync executa apenas a sincronização unidirecional em tempo real de modificações de arquivos do computador de desenvolvimento local para o espaço de trabalho remoto. Portanto, o Databricks não recomenda que você inicie alterações no workspace do Azure Databricks em arquivos monitorados por dbx sync. Se você precisar fazer essas alterações de arquivo iniciadas pelo workspace, 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, faça o push das alterações de arquivo do seu workspace para o seu provedor de Git. Em seguida, em seu computador de desenvolvimento local, efetue pull dessas alterações de arquivo do seu provedor Git.

Requisitos

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

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

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 verificar sua versão do Python instalada, execute python --version no terminal ou no 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 ao longo deste artigo.

  • pip. Para verificar se pip está instalado e verificar sua versão instalada pip , executar 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 ao longo deste artigo.

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

    # 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 do 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 .databrickscfg arquivo, dbx sync procurará neste arquivo um perfil de configuração nomeado DEFAULT por padrão. Para especificar um perfil diferente, use a opção --profile ao executar o dbx sync comando, mais adiante neste artigo.

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

  • Se você quiser usar dbx sync com pastas Git do Databricks, um clone local do seu repositório com seu provedor Git, embora não seja obrigatório, é recomendado. Para executar um clone local, consulte a documentação do provedor Git.

Usar o 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 de sincronização dbx para sincronizar seu diretório local com o DBFS em seu workspace, da seguinte maneira. (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' for exibido, sua instalação dbx provavelmente estará desatualizada. Para corrigir isso, execute pip install --upgrade dbx==<version> ou python -m pip install --upgrade dbx==version, onde <version> está a versão mais recente de dbx. Esse número de versão pode ser encontrado na página da Web do PyPI para dbx.

    pip install --upgrade dbx==<version>
    
    # Or...
    python -m pip install --upgrade dbx==version
    
  3. dbx sync começa a sincronizar arquivos em seu diretório local atual com arquivos no seguinte caminho DBFS em seu workspace. 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 nos arquivos locais, conforme necessário.

    Importante

    Mantenha seu terminal ou PowerShell aberto para que dbx sync continue o processo de sincronização. Se você fechar o terminal ou o PowerShell, dbx sync pare de observar as alterações de arquivo e pare 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 percurso anterior do DBFS em seu espaço de trabalho.

Usar 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 seu provedor Git.

  2. No workspace do Azure Databricks, identifique o nome da pasta Git do Databricks para a qual você 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 de sincronização dbx para sincronizar seu repositório clonado local com as pastas Git do Databricks em seu workspace da seguinte maneira, 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' for exibido, sua instalação dbx provavelmente estará desatualizada. Para corrigir isso, execute pip install --upgrade dbx==<version> ou python -m pip install --upgrade dbx==version, onde <version> está a versão mais recente de dbx. Esse número de versão pode ser encontrado na página da Web do PyPI para dbx.

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

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

    Dica

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

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

    Importante

    Mantenha seu terminal ou PowerShell aberto para que dbx sync continue o processo de sincronização. Se você fechar o terminal ou o PowerShell, dbx sync pare de observar as alterações de arquivo e pare 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 espaço de trabalho.

Recursos adicionais