Use código-fonte com controle de versão em um trabalho Databricks

O senhor pode executar o Job usando o Notebook ou o código Python localizado em um repositório Git remoto ou em uma pasta Databricks Git . Esse recurso simplifica a criação e o gerenciamento do trabalho de produção e automatiza a implementação contínua:

  • O senhor não precisa criar um repo de produção separado em Databricks, gerenciar suas permissões e mantê-lo atualizado.

  • O senhor pode evitar alterações não intencionais em um Job de produção, como edições locais no site de produção repo ou alterações provenientes da troca de um branch.

  • O processo de definição do trabalho tem uma única fonte de verdade no repositório remoto, e cada execução de trabalho está vinculada a um hash commit.

Para usar o código-fonte em um repositório Git remoto, o senhor deve configurar as pastas Git do Databricks (Repos).

Importante

Notebook criado por Databricks Job que a execução de Git repositórios remotos é efêmera e não é confiável para rastrear MLflow execuções, experimentos ou modelos. Ao criar um Notebook a partir de um Job, use um experimentoworkspace MLflow (em vez de um experimento Notebook MLflow ) e chame mlflow.set_experiment("/path/to/experiment")no Notebook workspace antes de executar qualquer código de acompanhamento MLflow. Para obter mais detalhes, consulte Evitar a perda de dados em experimentos do MLflow.

Use um Notebook de um repositório remoto Git

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

  1. Clique em fluxo de trabalho Icon fluxo de trabalho na barra lateral e clique em Botão criar job ou vá para um trabalho existente e adicione uma nova tarefa.

  2. Se este for um novo trabalho, substitua Add a name for your Job (Adicionar um nome para o trabalho ) pelo nome do trabalho.

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

  4. No menu suspenso Type (Tipo ), selecione Notebook.

  5. No menu suspenso Source (Fonte ), selecione o provedor Git e clique em Edit (Editar ) ou Add a git reference (Adicionar uma referência git). A caixa de diálogo Git information é exibida.

  6. Na caixa de diálogo Git information, insira os detalhes do repositório, incluindo o URL do repositório, o provedor Git e a referência Git. Essa referência do Git pode ser um branch, uma tag ou um commit.

    Em Path (Caminho), digite um caminho relativo para o local do Notebook, como etl/notebooks/.

    Quando o senhor digitar o caminho relativo, não o inicie com / ou ./ e não inclua a extensão do arquivo do Notebook, como .py. Por exemplo, se o caminho absoluto para o Notebook que o senhor deseja acessar for /notebooks/covid_eda_raw.py, digite notebooks/covid_eda_raw no campo Path (Caminho).

  7. Clique em Criar.

Importante

Se o senhor trabalhar com um Notebook Python diretamente de um repositório de código-fonte Git, a primeira linha do arquivo de código-fonte do Notebook deverá ser # Databricks notebook source. Para um Notebook Scala, a primeira linha do arquivo de origem deve ser // Databricks notebook source.

Use o 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 fluxo de trabalho Icon fluxo de trabalho na barra lateral e clique em Botão criar job ou vá para um trabalho existente e adicione uma nova tarefa.

  2. Se este for um novo trabalho, substitua Add a name for your Job (Adicionar um nome para o trabalho ) pelo nome do trabalho.

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

  4. No menu suspenso Type (Tipo ), selecione Python script.

  5. No menu suspenso Source (Fonte ), selecione o provedor Git e clique em Edit (Editar ) ou Add a git reference (Adicionar uma referência git). A caixa de diálogo Git information é exibida.

  6. Na caixa de diálogo Git information, insira os detalhes do repositório, incluindo o URL do repositório, o provedor Git e a referência Git. Essa referência do Git pode ser um branch, uma tag ou um commit.

    Em Path (Caminho), digite um caminho relativo para o local de origem, como etl/python/python_etl.py.

    Quando o senhor digitar o caminho relativo, não o inicie com / ou ./. Por exemplo, se o caminho absoluto para o código Python que o senhor deseja acessar for /python/covid_eda_raw.py, digite python/covid_eda_raw.py no campo Path (Caminho).

  7. Clique em Criar.

Quando o senhor view o histórico de execução de uma tarefa que executa Python código armazenado em um repositório Git remoto, o painel de detalhes da execução da tarefa inclui Git detalhes, inclusive o commit SHA associado à execução.

Adicionar tarefa adicional de um repositório remoto Git

Tarefas adicionais em um trabalho multitarefa podem fazer referência ao mesmo commit no repositório remoto de uma das seguintes maneiras:

  • sha de $branch/head quando git_branch é definido

  • sha de $tag quando git_tag é definido

  • o valor de git_commit

O senhor pode misturar tarefas do Notebook e do Python em um trabalho do Databricks, mas elas devem usar a mesma referência do Git.

Usar uma pasta Git da Databricks

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

Para adicionar um código do Notebook ou Python de uma pasta Git em uma tarefa de trabalho, no menu suspenso Source (Fonte ), selecione o espaço de trabalho e digite o caminho para o código do Notebook ou Python em Path (Caminho).

Acessar o Notebook a partir de um IDE

Se precisar acessar o Notebook a partir 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 Python normal e um Notebook Databricks Python-language 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. Quando o senhor importa o Notebook, o site Databricks o reconhece e o importa como um Notebook, e não como um módulo Python.

Solução de problemas

Observação

Git-based Job não oferecem suporte ao acesso de gravação aos arquivos workspace. Para gravar dados em um local de armazenamento temporário, use o armazenamento do driver. Para gravar dados persistentes de um Job 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

Possíveis causas:

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