Partilhar via


Desenvolver um trabalho no Azure Databricks usando Databricks Asset Bundles

Os Databricks Asset Bundles, também conhecidos simplesmente como bundles, permitem validar, implantar e executar recursos do Azure Databricks de forma programática, como trabalhos. Você também pode usar pacotes para gerenciar programaticamente pipelines Delta Live Tables e trabalhar com MLOps Stacks. Consulte O que são Databricks Asset Bundles?.

Este artigo descreve as etapas que você pode concluir a partir de uma configuração de desenvolvimento local para usar um pacote que gerencia programaticamente um trabalho. Consulte Introdução aos fluxos de trabalho do Azure Databricks.

Se você tiver trabalhos existentes que foram criados usando a interface do usuário ou a API dos Fluxos de Trabalho do Azure Databricks que deseja mover para pacotes, deverá recriá-los como arquivos de configuração do pacote. Para fazer isso, o Databricks recomenda que você primeiro crie um pacote usando as etapas abaixo e valide se o pacote funciona. Em seguida, você pode adicionar definições de trabalho, blocos de anotações e outras fontes ao pacote. Consulte Adicionar uma definição de tarefa existente a um pacote.

Além de usar a CLI do Databricks para executar um trabalho implantado por um pacote, você também pode exibir e executar esses trabalhos na interface do usuário de Trabalhos do Azure Databricks. Consulte Exibir e executar um trabalho criado com um Databricks Asset Bundle.

Requisitos

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

Decisão: Crie o pacote usando um modelo ou manualmente

Decida se deseja criar um pacote de exemplo usando um modelo ou manualmente:

Criar o pacote usando um modelo

Nestas etapas, você cria o pacote usando o modelo de pacote padrão do Azure Databricks para Python, que consiste em um bloco de anotações ou código Python, emparelhado com a definição de um trabalho para executá-lo. Em seguida, você valida, implanta e executa o trabalho implantado em seu espaço de trabalho do Azure Databricks. O espaço de trabalho remoto deve ter arquivos de espaço de trabalho habilitados. Consulte O que são arquivos de espaço de trabalho?.

Etapa 1: configurar a autenticação

Nesta etapa, você configura a autenticação entre a CLI do Databricks em sua máquina de desenvolvimento e seu espaço de trabalho do Azure Databricks. Este artigo pressupõe que você deseja usar a autenticação de usuário para máquina (U2M) OAuth e um perfil de configuração do Azure Databricks correspondente nomeado DEFAULT para autenticação.

Nota

A autenticação U2M é apropriada para experimentar essas etapas em tempo real. Para fluxos de trabalho totalmente automatizados, o Databricks recomenda que você use a autenticação OAuth máquina-a-máquina (M2M). Consulte as instruções de configuração da autenticação M2M em Autenticação.

  1. Use a CLI do Databricks para iniciar o gerenciamento de token OAuth localmente executando o seguinte comando para cada espaço de trabalho de destino.

    No comando a seguir, substitua <workspace-url> pela URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net.

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

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

  3. No navegador da Web, conclua as instruções na tela para fazer logon no espaço de trabalho do Azure Databricks.

  4. Para exibir o valor atual do token OAuth de um perfil e o carimbo de data/hora de expiração do token, 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 você tiver vários perfis com o mesmo --host valor, talvez seja necessário especificar as --host opções e -p juntas para ajudar a CLI do Databricks a encontrar as informações corretas do token OAuth.

Etapa 2: Criar o pacote

Um pacote contém os artefatos que você deseja implantar e as configurações para os recursos que deseja executar.

  1. Use seu terminal ou prompt de comando para alternar para um diretório em sua máquina de desenvolvimento local que conterá o pacote gerado pelo modelo.

  2. Use a CLI Dataricks para executar o bundle init comando:

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

  4. Para Unique name for this project, deixe o valor padrão de my_project, ou digite um valor diferente e pressione Enter. Isso determina o nome do diretório raiz para este pacote. Este 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 Delta Live Tables de exemplo em seu pacote.

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

Passo 3: Explore o pacote

Para exibir os arquivos que o modelo gerou, alterne para o diretório raiz do pacote recém-criado e abra esse diretório com seu IDE preferido, por exemplo, Visual Studio Code. Os ficheiros de particular interesse incluem o seguinte:

  • databricks.yml: Este arquivo especifica o nome programático do pacote, inclui uma referência à definição de tarefa e especifica configurações sobre o espaço de trabalho de destino.
  • resources/<project-name>_job.yml: Este arquivo especifica as configurações do trabalho, incluindo uma tarefa padrão do bloco de anotações.
  • src/notebook.ipynb: Este arquivo é um bloco de anotações de exemplo que, quando executado, simplesmente inicializa um RDD que contém os números de 1 a 10.

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

Gorjeta

Você pode definir, combinar e substituir as configurações de novos clusters de trabalho em pacotes usando as técnicas descritas em Substituir configurações de cluster em Databricks Asset Bundles.

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

Nesta etapa, você verifica se a configuração do pacote é válida.

  1. No diretório raiz, use a CLI do Databricks para executar o bundle validate comando, da seguinte maneira:

    databricks bundle validate
    
  2. Se um resumo da configuração do pacote for retornado, a validação será bem-sucedida. Se algum erro for retornado, corrija-os e repita esta etapa.

Se você fizer alguma alteração no pacote após esta etapa, repita esta etapa para verificar se a configuração do pacote ainda é válida.

Etapa 5: Implantar o projeto local no espaço de trabalho remoto

Nesta etapa, você implanta o bloco de anotações local em seu espaço de trabalho remoto do Azure Databricks e cria o trabalho do Azure Databricks em seu espaço de trabalho.

  1. Na raiz do pacote, use a CLI do Databricks para executar o bundle deploy comando da seguinte maneira:

    databricks bundle deploy -t dev
    
  2. Verifique se o bloco de anotações local foi implantado: na barra lateral do espaço de trabalho do Azure Databricks, clique em Espaço de trabalho.

  3. Clique na pasta Users ><your-username>> .bundle<project-name>>> dev > files > src. O bloco de notas deve estar nesta pasta.

  4. Verifique se o trabalho foi criado: na barra lateral do seu espaço de trabalho do Azure Databricks, clique em Fluxos de trabalho.

  5. Na guia Trabalhos, clique em [dev <your-username>] <project-name>_job.

  6. Clique na guia Tarefas . Deve haver uma tarefa: notebook_task.

Se você fizer alterações no pacote após esta etapa, repita as etapas 4 a 5 para verificar se a configuração do pacote ainda é válida e, em seguida, reimplantar o projeto.

Etapa 6: Executar o projeto implantado

Nesta etapa, você executa o trabalho do Azure Databricks em seu espaço de trabalho.

  1. No diretório raiz, use a CLI do Databricks para executar o bundle run comando, da seguinte forma, substituindo <project-name> pelo nome do seu projeto da Etapa 2:

    databricks bundle run -t dev <project-name>_job
    
  2. Copie o valor que aparece em seu terminal e cole esse valor em seu navegador da Web para abrir seu espaço de Run URL trabalho do Azure Databricks.

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

Se você fizer alterações no pacote após esta etapa, repita as etapas 4 a 6 para verificar se a configuração do pacote ainda é válida, reimplantar o projeto e executar o projeto reimplantado.

Passo 7: Limpar

Nesta etapa, você exclui o bloco de anotações implantado e o trabalho do seu espaço de trabalho.

  1. No diretório raiz, use a CLI do Databricks para executar o bundle destroy comando, da seguinte maneira:

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

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

  4. Se você também quiser excluir o pacote da sua máquina de desenvolvimento, agora você pode excluir o diretório local da Etapa 2.

Você chegou ao final das etapas para criar um pacote usando um modelo.

Criar o pacote manualmente

Nestas etapas, você cria um pacote do zero. Esse pacote simples consiste em dois blocos de anotações e na definição de um trabalho do Azure Databricks para executar esses blocos de anotações. Em seguida, você valida, implanta e executa os blocos de anotações implantados a partir do trabalho em seu espaço de trabalho do Azure Databricks. Estas etapas automatizam o início rápido intitulado Criar seu primeiro fluxo de trabalho com um trabalho do Azure Databricks.

Etapa 1: Criar o pacote

Um pacote contém os artefatos que você deseja implantar e as configurações para os recursos que deseja executar.

  1. Crie ou identifique um diretório vazio em sua máquina de desenvolvimento.
  2. Mude para o diretório vazio no terminal ou abra o diretório vazio no IDE.

Gorjeta

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

Se você optar por clonar um repositório para esta demonstração, o Databricks recomenda que o repositório esteja vazio ou tenha apenas arquivos básicos, como README e .gitignore. Caso contrário, quaisquer arquivos pré-existentes no repositório podem ser desnecessariamente sincronizados com seu espaço de trabalho do Azure Databricks.

Etapa 2: Adicionar blocos de anotações ao projeto

Nesta etapa, você adiciona dois blocos de anotações ao seu projeto. O primeiro caderno recebe uma lista dos nomes de bebês mais populares desde 2007 das fontes de dados públicas do Departamento de Saúde do Estado de Nova York. Veja Nomes de bebês: tendência por nome: Início de 2007 no site do departamento. Em seguida, o primeiro bloco de anotações salva esses dados no volume do Catálogo Unity do Azure Databricks nomeado my-volume em um esquema nomeado default dentro de um catálogo chamado main. O segundo bloco de notas consulta os dados guardados e apresenta contagens agregadas dos nomes dos bebés por nome próprio e sexo para 2014.

  1. A partir da raiz do diretório, crie o primeiro bloco de anotações, um arquivo chamado retrieve-baby-names.py.

  2. Adicione o seguinte código ao ficheiro 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 bloco de anotações, um arquivo chamado filter-baby-names.py, no mesmo diretório.

  4. Adicione o seguinte código ao ficheiro 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")))
    

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

Se você estiver usando um IDE, como Visual Studio Code, PyCharm Professional ou IntelliJ IDEA Ultimate que fornece suporte para arquivos YAML e arquivos de esquema JSON, você pode usar seu IDE não apenas para criar o arquivo de esquema de configuração do pacote, mas para verificar a sintaxe e a formatação do arquivo de configuração do pacote do seu projeto e fornecer dicas de conclusão de código, como se segue. Observe que, embora o arquivo de configuração do pacote que você criará posteriormente na Etapa 5 seja baseado em YAML, o arquivo de esquema de configuração do pacote nesta etapa é baseado em JSON.

Visual Studio Code

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

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

    databricks bundle schema > bundle_config_schema.json
    
  3. Observe que, mais adiante na Etapa 5, você 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
    

    Nota

    No comentário anterior, se o arquivo de esquema JSON de configuração do Databricks Asset Bundle estiver em um caminho diferente, substitua bundle_config_schema.json pelo caminho completo para o arquivo de esquema.

PyCharm Profissional

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

    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 tarde, na Etapa 5, você usará o PyCharm para criar ou abrir um arquivo de configuração de pacote. Por convenção, esse arquivo é chamado databricks.ymlde .

IntelliJ IDEA Ultimate

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

    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 tarde, na Etapa 5, você usará o IntelliJ IDEA para criar ou abrir um arquivo de configuração de pacote. Por convenção, esse arquivo é chamado databricks.ymlde .

Etapa 4: Configurar a autenticação

Nesta etapa, você configura a autenticação entre a CLI do Databricks em sua máquina de desenvolvimento e seu espaço de trabalho do Azure Databricks. Este artigo pressupõe que você deseja usar a autenticação de usuário para máquina (U2M) OAuth e um perfil de configuração do Azure Databricks correspondente nomeado DEFAULT para autenticação.

Nota

A autenticação U2M é apropriada para experimentar essas etapas em tempo real. Para fluxos de trabalho totalmente automatizados, o Databricks recomenda que você use a autenticação OAuth máquina-a-máquina (M2M). Consulte as instruções de configuração da autenticação M2M em Autenticação.

  1. Use a CLI do Databricks para iniciar o gerenciamento de token OAuth localmente executando o seguinte comando para cada espaço de trabalho de destino.

    No comando a seguir, substitua <workspace-url> pela URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net.

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

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

  3. No navegador da Web, conclua as instruções na tela para fazer logon no espaço de trabalho do Azure Databricks.

  4. Para exibir o valor atual do token OAuth de um perfil e o carimbo de data/hora de expiração do token, 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 você tiver vários perfis com o mesmo --host valor, talvez seja necessário especificar as --host opções e -p juntas para ajudar a CLI do Databricks a encontrar as informações corretas do token OAuth.

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

Nesta etapa, você define como deseja implantar e executar os dois blocos de anotações. Para esta demonstração, você deseja usar um trabalho do Azure Databricks para executar o primeiro bloco de anotações e, em seguida, o segundo bloco de anotações. Uma vez que o primeiro bloco de notas guarda os dados e o segundo consulta os dados guardados, pretende que o primeiro bloco de notas termine a execução antes de o segundo bloco de notas ser iniciado. Você modela esses objetivos dentro de um arquivo de configuração de pacote em seu projeto.

  1. A partir da raiz do diretório, crie o arquivo de configuração do pacote, um arquivo chamado databricks.yml.
  2. Adicione o seguinte código ao databricks.yml arquivo, substituindo <workspace-url> pelo URL por espaço de trabalho, por exemplo https://adb-1234567890123456.7.azuredatabricks.net. Este URL tem de corresponder ao do seu .databrickscfg ficheiro:

Gorjeta

A primeira linha, começando com # yaml-language-server, só é necessária se o IDE a suportar. Consulte a Etapa 3 anterior 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: Standard_DS3_v2
            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 trabalhos, os mapeamentos dentro de uma declaração de trabalho correspondem à carga útil de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML.

Gorjeta

Você pode definir, combinar e substituir as configurações de novos clusters de trabalho em pacotes usando as técnicas descritas em Substituir configurações de cluster em Databricks Asset Bundles.

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

Nesta etapa, você verifica se a configuração do pacote é válida.

  1. Use a CLI do Databricks para executar o bundle validate comando, da seguinte maneira:

    databricks bundle validate
    
  2. Se um resumo da configuração do pacote for retornado, a validação será bem-sucedida. Se algum erro for retornado, corrija-os e repita esta etapa.

Se você fizer alguma alteração no pacote após esta etapa, repita esta etapa para verificar se a configuração do pacote ainda é válida.

Etapa 7: Implantar o projeto local no espaço de trabalho remoto

Nesta etapa, você implanta os dois blocos de anotações locais em seu espaço de trabalho remoto do Azure Databricks e cria o trabalho do Azure Databricks em seu espaço de trabalho.

  1. Use a CLI do Databricks para executar o bundle deploy comando da seguinte maneira:

    databricks bundle deploy -t development
    
  2. Verifique se os dois blocos de anotações locais foram implantados: na barra lateral do seu espaço de trabalho do Azure Databricks, clique em Espaço de trabalho.

  3. Clique na pasta Users >><your-username>.bundle > baby-names > development > files. Os dois blocos de notas devem estar nesta pasta.

  4. Verifique se o trabalho foi criado: na barra lateral do seu espaço de trabalho do Azure Databricks, clique em Fluxos de trabalho.

  5. Na guia Trabalhos, clique em retrieve-filter-baby-names-job.

  6. Clique na guia Tarefas . Deve haver duas tarefas: retrieve-baby-names-task e filter-baby-names-task.

Se você fizer alguma alteração no pacote após esta etapa, repita as etapas 6 a 7 para verificar se a configuração do pacote ainda é válida e, em seguida, reimplantar o projeto.

Etapa 8: Executar o projeto implantado

Nesta etapa, você executa o trabalho do Azure Databricks em seu espaço de trabalho.

  1. Use a CLI do Databricks para executar o bundle run comando, da seguinte maneira:

    databricks bundle run -t development retrieve-filter-baby-names-job
    
  2. Copie o valor que aparece em seu terminal e cole esse valor em seu navegador da Web para abrir seu espaço de Run URL trabalho do Azure Databricks.

  3. No seu espaço de trabalho do Azure Databricks, depois que as duas tarefas forem concluídas com êxito e mostrarem barras de título verdes, clique na tarefa filter-baby-names-task para ver os resultados da consulta.

Se você fizer alterações no pacote após esta etapa, repita as etapas 6 a 8 para verificar se a configuração do pacote ainda é válida, reimplantar o projeto e executar o projeto reimplantado.

Passo 9: Limpar

Nesta etapa, você exclui os dois blocos de anotações implantados e o trabalho do seu espaço de trabalho.

  1. Use a CLI do Databricks para executar o bundle destroy comando, da seguinte maneira:

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

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

A execução do bundle destroy comando exclui apenas o trabalho implantado e a pasta que contém os dois blocos de anotações implantados. Este comando não elimina quaisquer efeitos secundários, como o babynames.csv ficheiro que o primeiro bloco de notas criou. Para excluir o arquivo, faça o babybnames.csv seguinte:

  1. Na barra lateral do seu espaço de trabalho do Azure Databricks, clique em Catálogo.
  2. Clique em Procurar DBFS.
  3. Clique na pasta FileStore .
  4. Clique na seta suspensa ao lado de babynames.csv e clique em Excluir.
  5. Se você também quiser excluir o pacote da sua máquina de desenvolvimento, agora você pode excluir o diretório local da Etapa 1.

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

Você pode usar uma definição de tarefa existente como base para definir um novo trabalho em um arquivo de configuração de pacote. Para o fazer, conclua os seguintes passos.

Nota

As etapas a seguir criam um novo trabalho com as mesmas configurações do trabalho existente. No entanto, o novo trabalho tem um ID de trabalho diferente do trabalho existente. Não é possível importar automaticamente um ID de trabalho existente para um pacote.

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

Nesta etapa, use a interface do usuário do espaço de trabalho do Azure Databricks para obter a representação YAML da definição de trabalho existente.

  1. Na barra lateral do seu espaço de trabalho do Azure Databricks, clique em Fluxos de trabalho.
  2. Na guia Trabalhos, clique no link Nome do trabalho.
  3. Ao lado do botão Executar agora , clique nas reticências e, em seguida, clique em Exibir YAML.
  4. Na guia Criar, copie o YAML da definição de tarefa para a área de transferência local clicando em Copiar.

Etapa 2: Adicionar a definição de tarefa YAML a um arquivo de configuração de pacote

No arquivo de configuração do pacote, adicione o YAML copiado da etapa anterior a um dos seguintes locais rotulados <job-yaml-can-go-here> nos arquivos de configuração do pacote, da seguinte maneira:

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>

Etapa 3: Adicionar blocos de anotações, arquivos Python e outros artefatos ao pacote

Todos os arquivos Python e blocos de anotações referenciados no trabalho existente devem ser movidos para os códigos-fonte do pacote.

Para uma melhor compatibilidade com pacotes, os notebooks devem usar o formato de notebook IPython (.ipynb). Se você desenvolver o pacote localmente, poderá exportar um bloco de anotações existente de um espaço de trabalho do Azure Databricks para o .ipynb formato clicando em Arquivo > Exportar > Bloco de Anotações IPython da interface do usuário do bloco de anotações do Azure Databricks. Por convenção, você deve então colocar o bloco de anotações baixado src/ no diretório do seu pacote.

Depois de adicionar seus blocos de anotações, arquivos Python e outros artefatos ao pacote, certifique-se de que sua definição de trabalho faça referência a eles. Por exemplo, para um bloco de anotações com o nome do arquivo que está em um src/ diretório e o src/ diretório está na mesma pasta que o arquivo de configuração do pacote que faz referência ao src/ diretório, a definição de hello.ipynb tarefa 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

Etapa 4: Validar, implantar e executar o novo trabalho

  1. Valide 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. Neste comando, substitua <target-identifier> pelo identificador programático exclusivo para o destino a partir 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 a partir da configuração do pacote.
    • Substitua <job-identifier> pelo identificador programático exclusivo para o trabalho da configuração do pacote.

Configurar um trabalho que usa computação sem servidor

Importante

A computação sem servidor para fluxos de trabalho está em Visualização Pública. Para obter informações sobre elegibilidade e habilitação, consulte Habilitar computação sem servidor.

Os exemplos a seguir demonstram configurações de pacote para criar um trabalho que usa computação sem servidor.

Para usar a computação sem servidor para executar um trabalho que inclua tarefas do bloco de anotações, omita a job_clusters configuração 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 a computação sem servidor para executar um trabalho que inclui tarefas Python, inclua a environments configuração.

# 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>

Consulte Executar seu trabalho do Azure Databricks com computação sem servidor para fluxos de trabalho.