Desenvolva um trabalho em Databricks usando Databricks ativo Bundles

Databricks Os bundles ativos, também conhecidos simplesmente como bundles, permitem que o senhor valide, implante e execute de forma programática Databricks recursos como o Job. O senhor também pode usar pacotes para gerenciar programaticamente o pipeline Delta Live Tables e trabalhar com as pilhas MLOps. Veja o que são Databricks ativo Bundles?

Este artigo descreve os passos que o senhor pode realizar a partir de uma configuração de desenvolvimento local para usar um pacote que gerencia programaticamente um trabalho. Veja programar e orquestrar fluxo de trabalho.

Se o senhor tiver trabalhos existentes que foram criados usando a interface de usuário Databricks Jobs ou API que deseja mover para pacotes, deverá recriá-los como arquivos de configuração de pacotes. Para isso, o site Databricks recomenda que o senhor primeiro crie um pacote usando os passos abaixo e depois valide se o pacote funciona. Em seguida, o senhor pode adicionar definições de trabalho, Notebook e outras fontes ao pacote. Consulte Adicionar uma definição de trabalho existente a um pacote.

Além de usar o Databricks CLI para executar um trabalho implantado por um pacote, o senhor também pode view e executar esse trabalho na UI Databricks Jobs. Veja a visualização e execução de um Job criado com um Databricks ativo Bundle.

Requisitos

  • Databricks CLI versão 0.218.0 ou acima. Para verificar a versão instalada do Databricks CLI, execute o comando databricks -v. Para instalar a CLI da Databricks, consulte Instalar ou atualizar a CLI da Databricks.

Decisão: Criar o pacote usando um padrão ou manualmente

Decida se o senhor deseja criar um pacote de exemplo usando um padrão ou manualmente:

Crie o pacote usando um padrão

Nesses passos, o senhor cria o pacote usando o padrão Databricks default bundle para Python, que consiste em um Notebook ou código Python, juntamente com a definição de um Job para executá-lo. Em seguida, o senhor valida, implanta e executa o Job implantado em seu site Databricks workspace. O site workspace remoto deve ter os arquivos workspace ativados. Consulte O que são arquivos de espaço de trabalho?

o passo 1: Configurar a autenticação

Neste passo, o senhor configura a autenticação entre o Databricks CLI em sua máquina de desenvolvimento e o Databricks workspace. Este artigo pressupõe que o senhor deseja usar a autenticação OAuth user-to-machine (U2M) e um perfil de configuração Databricks correspondente denominado DEFAULT para autenticação.

Observação

A autenticação U2M é adequada para experimentar esses passos em tempo real. Para fluxo de trabalho totalmente automatizado, o site Databricks recomenda que o senhor use a autenticação máquina a máquina (M2M) OAuth. Consulte as instruções de configuração da autenticação M2M em Autenticação.

  1. Use o comando Databricks CLI para iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando para cada destino workspace.

    No comando a seguir, substitua <workspace-url> pelo URL da instância do workspace do Databricks, por exemplo, https://dbc-a1b2345c-d6e7.cloud.databricks.com.

    databricks auth login --host <workspace-url>
    
  2. O site Databricks CLI solicita que o senhor salve as informações inseridas como um Databricks perfil de configuração. Pressione Enter para aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelas informações que o senhor inseriu. O senhor pode usar perfis para alternar rapidamente o contexto de autenticação em vários espaços de trabalho.

    Para obter uma lista de todos os perfis existentes, em um terminal separado ou prompt de comando, use o endereço Databricks CLI para executar o comando databricks auth profiles. Para view as configurações existentes de um perfil específico, execute o comando databricks auth env --profile <profile-name>.

  3. No navegador da Web, siga as instruções na tela para acessar o site log in e entrar em Databricks workspace.

  4. Para view o valor atual dos tokens OAuth de um perfil e a data de expiração futura dos tokens, execute um dos seguintes comandos:

    • databricks auth token --host <workspace-url>

    • databricks auth token -p <profile-name>

    • databricks auth token --host <workspace-url> -p <profile-name>

    Se o senhor tiver vários perfis com o mesmo valor --host, talvez seja necessário especificar as opções --host e -p juntas para ajudar o Databricks CLI a encontrar a correspondência correta OAuth tokens informação.

o passo 2: Criar o pacote

Um pacote contém os artefatos que o senhor deseja implantar e as configurações do recurso que deseja executar.

  1. Use o terminal ou o prompt do comando para alternar para um diretório em seu computador de desenvolvimento local que conterá o pacote gerado pelo padrão.

  2. Use o endereço Databricks CLI para executar o comando bundle init:

    databricks bundle init
    
  3. Para Template to use, deixe o valor default de default-python pressionando Enter.

  4. Para Unique name for this project, deixe o valor default de my_project ou digite um valor diferente e pressione Enter. Isso determina o nome do diretório raiz desse pacote. Esse diretório raiz é criado dentro do seu diretório de trabalho atual.

  5. Para Include a stub (sample) notebook, selecione yes e pressione Enter.

  6. Para Include a stub (sample) DLT pipeline, selecione no e pressione Enter. Isso instrui a CLI do Databricks a não definir um pipeline de amostra do Delta Live Tables em seu pacote.

  7. Para Include a stub (sample) Python package, selecione no e pressione Enter. Isso instrui a CLI da Databricks a não adicionar arquivos de amostra do pacote Python wheel ou instruções de compilação relacionadas ao seu pacote.

o passo 3: Explore o pacote

Para acessar view os arquivos gerados pelo padrão, vá para o diretório raiz do pacote recém-criado e abra esse diretório com seu IDE preferido, por exemplo, o Visual Studio Code. Os arquivos de interesse particular incluem os seguintes:

  • databricks.yml: Esse arquivo especifica o nome programático do pacote, inclui uma referência à definição do trabalho e especifica as configurações sobre o destino workspace.

  • resources/<project-name>_job.yml: Esse arquivo especifica as configurações do trabalho, incluindo uma tarefa do default Notebook.

  • src/notebook.ipynb: Esse arquivo é um exemplo de Notebook que, quando executado, simplesmente inicializa um RDD que contém os números de 1 a 10.

Para personalizar o trabalho, os mapeamentos em uma declaração de trabalho correspondem à carga útil da solicitação de criação de operações de trabalho, conforme definido em POST /api/2.1/Job/create na referência REST API , expressa no formato YAML.

Dica

O senhor pode definir, combinar e substituir as configurações do novo Job clusters em pacotes usando as técnicas descritas em Substituir configurações do cluster em Databricks ativo Bundles.

o passo 4: Validar o arquivo de configuração do pacote do projeto

Neste passo, o senhor verifica se a configuração do pacote é válida.

  1. No diretório raiz, use o endereço Databricks CLI para executar o comando bundle validate, como segue:

    databricks bundle validate
    
  2. Se um resumo da configuração do pacote for retornado, a validação foi bem-sucedida. Se algum erro for retornado, corrija os erros e repita esse passo.

Se o senhor fizer alguma alteração no pacote após esse passo, deverá repetir esse passo para verificar se a configuração do pacote ainda é válida.

o passo 5: implantado o projeto local no remoto workspace

Neste passo, o senhor implantou o Notebook local em seu Databricks workspace remoto e criou o Databricks Job em seu workspace.

  1. Na raiz do pacote, use o endereço Databricks CLI para executar o comando bundle deploy da seguinte forma:

    databricks bundle deploy -t dev
    
  2. Verifique se o Notebook local foi implantado: Na barra lateral do workspace do Databricks, clique em workspace.

  3. Clique na pasta Users > <your-username> >.bundle > <project-name> > dev > files > src. O Notebook deve estar nessa pasta.

  4. Verifique se o Job foi criado: Na barra lateral do workspace do Databricks, clique em fluxo de trabalho.

  5. Em Jobs tab, clique em [dev <your-username>] <project-name>_job.

  6. Clique na tarefa tab. Deve haver uma tarefa: Notebook.

Se o senhor fizer alguma alteração no pacote após esse passo, deverá repetir os passos 4-5 para verificar se a configuração do pacote ainda é válida e, em seguida, reimplantar o projeto.

o passo 6: execução do projeto implantado

Nesta passo, você executa o Job do Databricks em seu workspace.

  1. No diretório raiz, use o endereço Databricks CLI para executar o comando bundle run, como segue, substituindo <project-name> pelo nome do projeto do passo 2:

    databricks bundle run -t dev <project-name>_job
    
  2. Copie o valor de Run URL que aparece no terminal e cole-o no navegador da Web para abrir o site Databricks workspace.

  3. Em seu site Databricks workspace, depois que a tarefa do trabalho for concluída com êxito e mostrar uma barra de título verde, clique na tarefa do trabalho para ver os resultados.

Se o senhor fizer alguma alteração no pacote após esse passo, deverá repetir os passos 4 a 6 para verificar se a configuração do pacote ainda é válida, reimplantar o projeto e executar o projeto reimplantado.

o passo 7: Limpeza

Neste passo, o senhor exclui o Notebook implantado e o Job do seu site workspace.

  1. No diretório raiz, use o endereço Databricks CLI para executar o comando bundle destroy, como segue:

    databricks bundle destroy
    
  2. Confirme a solicitação de exclusão do trabalho: Quando solicitado a destruir permanentemente o recurso, digite y e pressione Enter.

  3. Confirme a solicitação de exclusão do Notebook: Quando solicitado a destruir permanentemente a pasta implantada anteriormente e todos os seus arquivos, digite y e pressione Enter.

  4. Se também quiser excluir o pacote da máquina de desenvolvimento, o senhor poderá excluir o diretório local do passo 2.

O senhor chegou ao final dos passos para criar um pacote usando um padrão.

Criar o pacote manualmente

Nesses passos, o senhor cria um pacote do zero. Esse pacote simples consiste em dois notebooks e na definição de um Databricks Job para executar esses notebooks. Em seguida, o senhor valida, implanta e executa o Notebook implantado a partir do Job em seu site Databricks workspace. Esses passos automatizam o início rápido intitulado Create your first fluxo de trabalho with a Databricks Job.

o passo 1: Criar o pacote

Um pacote contém os artefatos que o senhor deseja implantar e as configurações do recurso que deseja executar.

  1. Crie ou identifique um diretório vazio em seu computador de desenvolvimento.

  2. Alterne para o diretório vazio em seu terminal ou abra o diretório vazio em seu IDE.

Dica

Seu diretório vazio pode estar associado a um repositório clonado que é gerenciado por um provedor Git. Isso permite que o senhor gerencie seu pacote com controle de versão externo e colabore mais facilmente com outros desenvolvedores e profissionais do IT em seu projeto. No entanto, para ajudar a simplificar esta demonstração, um repo clonado não é usado aqui.

Se o senhor optar por clonar um repo para esta demonstração, o site Databricks recomenda que o repo esteja vazio ou tenha apenas arquivos básicos, como README e .gitignore. Caso contrário, qualquer arquivo pré-existente no repo poderá ser sincronizado desnecessariamente com o seu Databricks workspace.

passo 2: Adicionar Notebook ao projeto

Neste passo, o senhor adiciona dois Notebook ao seu projeto. O primeiro Notebook obtém uma lista de nomes de bebês em alta desde 2007 da fonte pública de dados do New York State Department of Health. Veja Nomes de Bebês: Tendências por nome: Início de 2007 no site do departamento. O primeiro Notebook salva esses dados no volume Databricks Unity Catalog chamado my-volume em um esquema chamado default dentro de um catálogo chamado main. O segundo Notebook consulta os dados salvos e exibe contagens agregadas dos nomes de bebês por primeiro nome e sexo para 2014.

  1. Na raiz do diretório, crie o primeiro Notebook, um arquivo chamado retrieve-baby-names.py.

  2. Adicione o seguinte código ao arquivo retrieve-baby-names.py:

    # Databricks notebook source
    import requests
    
    response = requests.get('http://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv')
    csvfile = response.content.decode('utf-8')
    dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)
    
  3. Crie o segundo Notebook, um arquivo chamado filter-baby-names.py, no mesmo diretório.

  4. Adicione o seguinte código ao arquivo filter-baby-names.py:

    # Databricks notebook source
    babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv")
    babynames.createOrReplaceTempView("babynames_table")
    years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist()
    years.sort()
    dbutils.widgets.dropdown("year", "2014", [str(x) for x in years])
    display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
    

o passo 3: Adicionar um arquivo de esquema de configuração de pacote ao projeto

Se estiver usando um IDE, como Visual Studio Code, PyCharm Professional ou IntelliJ IDEA Ultimate, que ofereça suporte a arquivos YAML e arquivos de esquema JSON, o senhor poderá usar o IDE não apenas para criar o arquivo de esquema de configuração do pacote, mas também para verificar a sintaxe e a formatação do arquivo de configuração do pacote do projeto e fornecer dicas de autocompletar código, como segue. Observe que, embora o arquivo de configuração do pacote que o senhor criará posteriormente no Passo 5 seja baseado em YAML, o arquivo de esquema de configuração do pacote neste Passo é baseado em JSON.

  1. Adicione suporte ao servidor de linguagem YAML ao Visual Studio Code, por exemplo, instalando a extensão YAML do Visual Studio Code Marketplace.

  2. Gere o arquivo de esquema de configuração do Databricks ativo Bundle JSON usando o Databricks CLI para executar o comando bundle schema e redirecionar a saída para um arquivo JSON. Por exemplo, gere um arquivo chamado bundle_config_schema.json no diretório atual, da seguinte forma:

    databricks bundle schema > bundle_config_schema.json
    
  3. Observe que, posteriormente, no passo 5, o senhor adicionará o seguinte comentário ao início do arquivo de configuração do pacote, que associa o arquivo de configuração do pacote ao arquivo de esquema JSON especificado:

    # yaml-language-server: $schema=bundle_config_schema.json
    

    Observação

    No comentário anterior, se o arquivo de esquema Databricks ativo Bundle configuration JSON estiver em um caminho diferente, substitua bundle_config_schema.json pelo caminho completo do arquivo de esquema.

  1. Gere o arquivo de esquema de configuração do Databricks ativo Bundle JSON usando o Databricks CLI para executar o comando bundle schema e redirecionar a saída para um arquivo JSON. Por exemplo, gere um arquivo chamado bundle_config_schema.json no diretório atual, da seguinte forma:

    databricks bundle schema > bundle_config_schema.json
    
  2. Configure o PyCharm para reconhecer o arquivo de esquema JSON de configuração do pacote e, em seguida, conclua o mapeamento do esquema JSON, seguindo as instruções em Configurar um esquema JSON personalizado.

  3. Observe que, mais adiante, no Passo 5, o senhor usará o site PyCharm para criar ou abrir um arquivo de configuração de pacote. Por convenção, esse arquivo é denominado databricks.yml.

  1. Gere o arquivo de esquema de configuração do Databricks ativo Bundle JSON usando o Databricks CLI para executar o comando bundle schema e redirecionar a saída para um arquivo JSON. Por exemplo, gere um arquivo chamado bundle_config_schema.json no diretório atual, da seguinte forma:

    databricks bundle schema > bundle_config_schema.json
    
  2. Configure o IntelliJ IDEA para reconhecer o arquivo de esquema JSON de configuração do pacote e, em seguida, conclua o mapeamento do esquema JSON, seguindo as instruções em Configurar um esquema JSON personalizado.

  3. Observe que, mais adiante, no Passo 5, o senhor usará o site IntelliJ IDEA para criar ou abrir um arquivo de configuração de pacote. Por convenção, esse arquivo é denominado databricks.yml.

passo 4: configurar a autenticação

Neste passo, o senhor configura a autenticação entre o Databricks CLI em sua máquina de desenvolvimento e o Databricks workspace. Este artigo pressupõe que o senhor deseja usar a autenticação OAuth user-to-machine (U2M) e um perfil de configuração Databricks correspondente denominado DEFAULT para autenticação.

Observação

A autenticação U2M é adequada para experimentar esses passos em tempo real. Para fluxo de trabalho totalmente automatizado, o site Databricks recomenda que o senhor use a autenticação máquina a máquina (M2M) OAuth. Consulte as instruções de configuração da autenticação M2M em Autenticação.

  1. Use o comando Databricks CLI para iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando para cada destino workspace.

    No comando a seguir, substitua <workspace-url> pelo URL da instância do workspace do Databricks, por exemplo, https://dbc-a1b2345c-d6e7.cloud.databricks.com.

    databricks auth login --host <workspace-url>
    
  2. O site Databricks CLI solicita que o senhor salve as informações inseridas como um Databricks perfil de configuração. Pressione Enter para aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelas informações que o senhor inseriu. O senhor pode usar perfis para alternar rapidamente o contexto de autenticação em vários espaços de trabalho.

    Para obter uma lista de todos os perfis existentes, em um terminal separado ou prompt de comando, use o endereço Databricks CLI para executar o comando databricks auth profiles. Para view as configurações existentes de um perfil específico, execute o comando databricks auth env --profile <profile-name>.

  3. No navegador da Web, siga as instruções na tela para acessar o site log in e entrar em Databricks workspace.

  4. Para view o valor atual dos tokens OAuth de um perfil e a data de expiração futura dos tokens, execute um dos seguintes comandos:

    • databricks auth token --host <workspace-url>

    • databricks auth token -p <profile-name>

    • databricks auth token --host <workspace-url> -p <profile-name>

    Se o senhor tiver vários perfis com o mesmo valor --host, talvez seja necessário especificar as opções --host e -p juntas para ajudar o Databricks CLI a encontrar a correspondência correta OAuth tokens informação.

o passo 5: Adicionar um arquivo de configuração de pacote ao projeto

Nesse passo, o senhor define como deseja implantar e executar os dois Notebooks. Para esta demonstração, o senhor deseja usar um Databricks Job para executar o primeiro Notebook e, em seguida, o segundo Notebook. Como o primeiro Notebook salva os dados e o segundo Notebook consulta os dados salvos, o senhor deseja que o primeiro Notebook termine de ser executado antes de o segundo Notebook começar. O senhor modela esses objetivos em um arquivo de configuração de pacote no seu projeto.

  1. Na raiz do diretório, crie o arquivo de configuração do pacote, um arquivo chamado databricks.yml.

  2. Adicione o seguinte código ao arquivo databricks.yml, substituindo <workspace-url> pelo URL do seu espaço de trabalho, por exemplo, https://dbc-a1b2345c-d6e7.cloud.databricks.com. Esse URL deve corresponder ao que está em seu arquivo .databrickscfg:

Dica

A primeira linha, que começa com # yaml-language-server, é necessária somente se o seu IDE a suportar. Consulte o passo 3 anteriormente para obter detalhes.

# yaml-language-server: $schema=bundle_config_schema.json
bundle:
  name: baby-names

resources:
  jobs:
    retrieve-filter-baby-names-job:
      name: retrieve-filter-baby-names-job
      job_clusters:
        - job_cluster_key: common-cluster
          new_cluster:
            spark_version: 12.2.x-scala2.12
            node_type_id: i3.xlarge
            num_workers: 1
      tasks:
        - task_key: retrieve-baby-names-task
          job_cluster_key: common-cluster
          notebook_task:
            notebook_path: ./retrieve-baby-names.py
        - task_key: filter-baby-names-task
          depends_on:
            - task_key: retrieve-baby-names-task
          job_cluster_key: common-cluster
          notebook_task:
            notebook_path: ./filter-baby-names.py

targets:
  development:
    workspace:
      host: <workspace-url>

Para personalizar o trabalho, os mapeamentos em uma declaração de trabalho correspondem à carga útil da solicitação de criação de operações de trabalho, conforme definido em POST /api/2.1/Job/create na referência REST API , expressa no formato YAML.

Dica

O senhor pode definir, combinar e substituir as configurações do novo Job clusters em pacotes usando as técnicas descritas em Substituir configurações do cluster em Databricks ativo Bundles.

o passo 6: Validar o arquivo de configuração do pacote do projeto

Neste passo, o senhor verifica se a configuração do pacote é válida.

  1. Use o endereço Databricks CLI para executar o comando bundle validate, como segue:

    databricks bundle validate
    
  2. Se um resumo da configuração do pacote for retornado, a validação foi bem-sucedida. Se algum erro for retornado, corrija os erros e repita esse passo.

Se o senhor fizer alguma alteração no pacote após esse passo, deverá repetir esse passo para verificar se a configuração do pacote ainda é válida.

passo 7: aprimorar o projeto local para o espaço de trabalho remoto

Nesta passo, você aprimora os dois Notebook locais para seu workspace remoto do Databricks e cria o Job do Databricks em seu workspace.

  1. Use o endereço Databricks CLI para executar o comando bundle deploy da seguinte forma:

    databricks bundle deploy -t development
    
  2. Verifique se os dois Notebook locais foram implantados: Na barra lateral do workspace do Databricks, clique em workspace.

  3. Clique na pasta Users > <your-username> >.bundle > baby-names > development > files. Os dois Notebooks devem estar nessa pasta.

  4. Verifique se o Job foi criado: Na barra lateral do workspace do Databricks, clique em fluxo de trabalho.

  5. Em Jobs tab, clique em retrieve-filter-baby-names-Job.

  6. Clique na tarefa tab. Deve haver duas tarefas: retrieve-baby-names-tarefa e filter-baby-names-tarefa.

Se o senhor fizer alguma alteração no pacote após esse passo, deverá repetir os passos 6 a 7 para verificar se a configuração do pacote ainda é válida e, em seguida, reimplantar o projeto.

passo 8: execução do projeto implantado

Nesta passo, você executa o Job do Databricks em seu workspace.

  1. Use o endereço Databricks CLI para executar o comando bundle run, como segue:

    databricks bundle run -t development retrieve-filter-baby-names-job
    
  2. Copie o valor de Run URL que aparece no terminal e cole-o no navegador da Web para abrir o site Databricks workspace.

  3. No site Databricks workspace, depois que as duas tarefas forem concluídas com êxito e mostrarem barras de título verdes, clique na tarefa filter-baby-names-tarefa para ver os resultados da consulta.

Se o senhor fizer alguma alteração no pacote após esse passo, deverá repetir os passos 6-8 para verificar se a configuração do pacote ainda é válida, reimplantar o projeto e executar o projeto reimplantado.

passo 9: Limpar

Nesta passo, você exclui os dois Notebook implantados e o Job do seu workspace.

  1. Use o endereço Databricks CLI para executar o comando bundle destroy, como segue:

    databricks bundle destroy
    
  2. Confirme a solicitação de exclusão do trabalho: Quando solicitado a destruir permanentemente o recurso, digite y e pressione Enter.

  3. Confirme a solicitação de exclusão do Notebook: Quando solicitado a destruir permanentemente a pasta implantada anteriormente e todos os seus arquivos, digite y e pressione Enter.

A execução do comando bundle destroy exclui apenas o Job implantado e a pasta que contém os dois Notebooks implantados. Esse comando não exclui nenhum efeito colateral, como o arquivo babynames.csv que o primeiro Notebook criou. Para excluir o arquivo babybnames.csv, faça o seguinte:

  1. Na barra lateral do site Databricks workspace, clique em Catalog (Catálogo).

  2. Clique em Browse DBFS.

  3. Clique na pasta FileStore.

  4. Clique na seta dropdown ao lado de babynames.csv, e clique em Excluir.

  5. Se o senhor também quiser excluir o pacote da máquina de desenvolvimento, poderá excluir o diretório local do passo 1.

Adicionar uma definição de trabalho existente a um pacote

O senhor pode usar uma definição de trabalho existente como base para definir um novo trabalho em um arquivo de configuração de pacote. Para fazer isso, complete os seguintes passos.

Observação

Os passos a seguir criam um novo Job com as mesmas configurações do Job existente. No entanto, o novo trabalho tem um ID de trabalho diferente do trabalho existente. O senhor não pode importar automaticamente uma ID de trabalho existente para um pacote.

o passo 1: Obter a definição de trabalho existente no formato YAML

Neste passo, use a interface de usuário Databricks workspace para obter a representação YAML da definição de trabalho existente.

  1. Na barra lateral do site Databricks workspace , clique em fluxo de trabalho.

  2. No site Jobs tab, clique no link Job's Name (Nome do trabalho).

  3. Ao lado do botão executar agora, clique nas reticências e, em seguida, clique em visualizar YAML.

  4. Em Create tab, copie o YAML da definição do trabalho para a área de transferência local clicando em Copy.

o passo 2: Adicionar o YAML de definição do trabalho a um arquivo de configuração do pacote

No arquivo de configuração do pacote, adicione o YAML que o senhor copiou do passo anterior a um dos seguintes locais rótulo <job-yaml-can-go-here> nos arquivos de configuração do pacote, como segue:

resources:
  jobs:
    <some-unique-programmatic-identifier-for-this-job>:
      <job-yaml-can-go-here>

targets:
  <some-unique-programmatic-identifier-for-this-target>:
    resources:
      jobs:
        <some-unique-programmatic-identifier-for-this-job>:
          <job-yaml-can-go-here>

o passo 3: Adicionar arquivos do Notebook, Python e outros artefatos ao pacote

Todos os arquivos Python e o Notebook referenciados no trabalho existente devem ser movidos para as fontes do pacote.

Para melhor compatibilidade com os pacotes, o Notebook deve usar o formato IPython Notebook (.ipynb). Se o senhor desenvolver o pacote localmente, poderá exportar um Notebook existente de um Databricks workspace para o formato .ipynb clicando em File > Export > IPython Notebook na interface do usuário do Notebook Databricks. Por convenção, o senhor deve colocar o Notebook de downloads no diretório src/ do seu pacote.

Depois de adicionar o Notebook, os arquivos Python e outros artefatos ao pacote, certifique-se de que a definição do trabalho faça referência a eles. Por exemplo, para um Notebook com o nome de arquivo hello.ipynb que está em um diretório src/ e o diretório src/ está na mesma pasta que o arquivo de configuração do pacote que faz referência ao diretório src/, a definição do trabalho pode ser expressa da seguinte forma

resources:
  jobs:
    hello-job:
      name: hello-job
      tasks:
      - task_key: hello-task
        notebook_task:
          notebook_path: ./src/hello.ipynb

o passo 4: Validar, implantar e executar o novo Job

  1. Verifique se os arquivos de configuração do pacote estão sintaticamente corretos executando o seguinte comando:

    databricks bundle validate
    
  2. Implante o pacote executando o seguinte comando. Nesse comando, substitua <target-identifier> pelo identificador programático exclusivo do destino da configuração do pacote:

    databricks bundle deploy -t <target-identifier>
    
  3. Execute o trabalho com o seguinte comando.

    databricks bundle run -t <target-identifier> <job-identifier>
    
    • Substitua <target-identifier> pelo identificador programático exclusivo para o destino da configuração do pacote.

    • Substitua <job-identifier> pelo identificador programático exclusivo do Job da configuração do pacote.

Configurar um trabalho que usa o site serverless compute

Os exemplos a seguir demonstram as configurações do pacote para criar um trabalho que usa o site serverless compute.

Para usar o site serverless compute para executar um trabalho que inclua a tarefa Notebook, omita a configuração job_clusters do arquivo de configuração do pacote.

# yaml-language-server: $schema=bundle_config_schema.json
bundle:
  name: baby-names

resources:
  jobs:
    retrieve-filter-baby-names-job-serverless:
      name: retrieve-filter-baby-names-job-serverless
      tasks:
        - task_key: retrieve-baby-names-task
          notebook_task:
            notebook_path: ./retrieve-baby-names.py
        - task_key: filter-baby-names-task
          depends_on:
            - task_key: retrieve-baby-names-task
          notebook_task:
            notebook_path: ./filter-baby-names.py

  targets:
    development:
      workspace:
        host: <workspace-url>

Para usar serverless compute para executar um trabalho que inclua Python tarefa, inclua a configuração environments.

# yaml-language-server: $schema=bundle_config_schema.json
bundle:
  name: serverless-python-tasks

resources:
jobs:
  serverless-python-job:
    name: serverless-job-with-python-tasks

    tasks:
      - task_key: wheel-task-1
        python_wheel_task:
          entry_point: main
          package_name: wheel_package
        environment_key: Default

    environments:
      - environment_key: Default
        spec:
          client: "1"
          dependencies:
            - workflows_authoring_toolkit==0.0.1

targets:
  development:
    workspace:
      host: <workspace-url>

Veja a execução de seu Databricks Job com serverless compute para fluxo de trabalho.