Share via


Usar código-fonte com controle de versão em um trabalho do Azure Databricks

Você pode executar trabalhos usando notebooks ou código Python localizado em um repositório Git remoto ou em uma pasta Git do Databricks. Esse recurso simplifica a criação e o gerenciamento de trabalhos de produção e automatiza a implantação contínua:

  • Você não precisa criar um repositório de produção separado no Azure Databricks, gerenciar suas permissões e mantê-lo atualizado.
  • Você pode evitar alterações não intencionais em um trabalho de produção, como edições locais no repositório de produção ou alterações da mudança de branch.
  • O processo de definição de trabalho tem uma só fonte de verdade no repositório remoto e cada execução de trabalho está vinculada a um hash de confirmação.

Para usar o código-fonte em um repositório Git remoto, você deve Configurar pastas Git do Databricks (Repos).

Importante

Os notebooks criados pelos trabalhos do Azure Databricks executados a partir de repositórios Git remotos são efêmeros. Você não pode contar com eles para acompanhar execuções, experimentos e modelos do MLflow. Nesse caso, use experimentos de MLflow autônomos.

Observação

Se o trabalho for executado usando uma entidade de serviço como a identidade, você poderá configurar a entidade de serviço na pasta Git que contém o código-fonte do trabalho. Consulte Usar uma entidade de serviço com pastas Git do Databricks.

Usar um bloco de anotações de um repositório Git remoto

Para criar uma tarefa com um notebook localizado em um repositório Git remoto:

  1. Clique em Ícone de fluxos de trabalhoWorkflows na barra lateral e clique no botão Criar trabalho ou vá para um trabalho existente e adicione uma nova tarefa.

  2. Se esse for um novo trabalho, substitua Adicionar um nome ao trabalho… pelo nome do trabalho.

  3. Insira um nome para a tarefa no campo Nome da tarefa.

  4. No menu suspenso Tipo, selecione Notebook.

  5. No menu suspenso origem, selecione provedor Git e clique em Editar ou Adicionar um git de referência. A caixa de diálogo Informações do Git é exibida.

  6. Na caixa de diálogo Informações do Git, insira detalhes para o repositório, incluindo a URL do repositório, o Provedor Git e a referência do Git. Essa referência do Git pode ser um branch, uma marca ou um commit.

    Em Caminho, insira um caminho relativo para o local do notebook, como etl/notebooks/.

    Ao inserir o caminho relativo, não comece com / ou ./ e não inclua a extensão de arquivo do notebook, como .py. Por exemplo, se o caminho absoluto para o notebook que você deseja acessar for /notebooks/covid_eda_raw.py, insira notebooks/covid_eda_raw no campo Caminho.

  7. Clique em Criar.

Importante

Caso trabalhe com um notebook do Python diretamente de um repositório do Git de origem, a primeira linha do arquivo de origem do notebook deverá ser # Databricks notebook source. Para um notebook do Scala, a primeira linha do arquivo de origem deve ser // Databricks notebook source.

Usar código Python de um repositório Git remoto

Para criar uma tarefa com código Python localizado em um repositório Git remoto:

  1. Clique em Ícone de fluxos de trabalhoWorkflows na barra lateral e clique no botão Criar trabalho ou vá para um trabalho existente e adicione uma nova tarefa.

  2. Se esse for um novo trabalho, substitua Adicionar um nome ao trabalho… pelo nome do trabalho.

  3. Insira um nome para a tarefa no campo Nome da tarefa.

  4. No menu suspenso Tipo, selecione script Python.

  5. No menu suspenso origem, selecione provedor Git e clique em Editar ou Adicionar um git de referência. A caixa de diálogo Informações do Git é exibida.

  6. Na caixa de diálogo Informações do Git, insira detalhes para o repositório, incluindo a URL do repositório, o Provedor Git e a referência do Git. Essa referência do Git pode ser um branch, uma marca ou um commit.

    Para Caminho, insira um caminho relativo para o local de origem, como etl/python/python_etl.py.

    Quando você inserir o caminho relativo, não o comece com / ou ./. Por exemplo, se o caminho absoluto para o código Python que você deseja acessar for /python/covid_eda_raw.py, insira python/covid_eda_raw.py no campo Caminho.

  7. Clique em Criar.

Quando você visualiza o histórico execução de uma tarefa que executa código Python armazenado em um repositório Git remoto, o painel Detalhes da execução da tarefa inclui detalhes do Git, incluindo o SHA de confirmação associado à execução.

Usar consultas SQL de um repositório Git remoto

Observação

Somente uma instrução SQL tem suporte em um arquivo. Várias instruções SQL separadas por ponto-e-vírgula (;) não são permitidos.

Para executar consultas armazenadas em arquivos .sql localizados em um repositório Git remoto:

  1. Clique em Ícone de fluxos de trabalhoWorkflows na barra lateral e clique no botão Criar trabalho ou vá para um trabalho existente e adicione uma nova tarefa.

  2. Se esse for um novo trabalho, substitua Adicionar um nome ao trabalho… pelo nome do trabalho.

  3. Insira um nome para a tarefa no campo Nome da tarefa.

  4. No menu suspenso Tipo, selecione SQL.

  5. No menu suspenso da tarefa SQL, selecione Arquivo.

  6. No menu suspenso origem, selecione provedor Git e clique em Editar ou Adicionar um git de referência. A caixa de diálogo Informações do Git é exibida.

  7. Na caixa de diálogo Informações do Git, insira detalhes para o repositório, incluindo a URL do repositório, o Provedor Git e a referência do Git. Essa referência do Git pode ser um branch, uma marca ou um commit.

    Para Caminho, insira um caminho relativo para o local de origem, como queries/sql/myquery.sql.

    Quando você inserir o caminho relativo, não o comece com / ou ./. Por exemplo, se o caminho absoluto para a consulta SQL que você deseja acessar for /sql/myqeury.sql, insira sql/myquery.sql no campo Caminho.

  8. Selecione um SQL warehouse. Você deve selecionar um SQL warehouse sem servidor ou um SQL warehouse profissional.

  9. Clique em Criar.

Adicionando tarefas adicionais de um repositório Git remoto

Tarefas adicionais em um trabalho multitarefa podem fazer referência à mesma confirmação no repositório remoto de uma das seguintes maneiras:

  • sha de $branch/head quando git_branch está definido
  • sha de $tag quando git_tag está definido
  • o valor de git_commit

Você pode misturar tarefas de bloco de anotações e Python em um trabalho do Azure Databricks, mas eles devem usar a mesma referência do Git.

Usar uma pasta Git do Databricks

Se você preferir usar a interface do usuário do Azure Databricks para controlar a versão do código-fonte, clone o seu repositório em uma pasta Git do Databricks. Para obter mais informações, confira Opção 2: configurar uma pasta Git de produção e a automação do Git.

Para adicionar um notebook ou código Python de uma pasta Git em uma tarefa de trabalho, no menu suspenso Origem, selecione Workspace e insira o caminho para o notebook ou código Python em Caminho.

Acessar notebooks de um IDE

Se precisar acessar notebooks de um ambiente de desenvolvimento integrado, certifique-se de ter o comentário # Databricks notebook source na parte superior do arquivo de código-fonte do notebook. Para distinguir entre um arquivo de Python regular e um notebook em linguagem Python do Azure Databricks exportado no formato de código-fonte, o Databricks adiciona a linha # Databricks notebook source na parte superior do arquivo de código-fonte do notebook. Ao importar o notebook, o Azure Databricks reconhece-o e importa-o como um notebook, não como um módulo do Python.

Solução de problemas

Observação

Trabalhos baseados em Git não dão suporte ao acesso de gravação a arquivos de workspace. Para gravar dados em um local de armazenamento temporário, use o armazenamento do driver. Para gravar dados persistentes de um trabalho Git, use um volume UC ou DBFS.

Mensagem de erro:

Run result unavailable: job failed with error message Notebook not found: path-to-your-notebook

Causas possíveis::

Seu notebook não tem o comentário # Databricks notebook source na parte superior do arquivo de código-fonte do notebook ou, no comentário, notebook está em maiúsculas quando deve começar com n em minúsculas.