Desenvolva um arquivo Python wheel usando Databricks ativo Bundles

Este artigo descreve como criar, implantar e executar um arquivo Python wheel como parte de um projeto Databricks ativo Bundle. Veja o que são Databricks ativo Bundles?

Requisitos

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

Decida se deseja criar um pacote inicial usando um padrão ou criar o pacote manualmente. Criar o pacote configurável usando um modelo é mais rápido e fácil, mas o pacote configurável pode produzir conteúdo desnecessário e as configurações default do pacote configurável devem ser ainda mais customizadas para aplicativos reais. A criação manual do pacote oferece controle total sobre as configurações do pacote, mas você deve estar familiarizado com o funcionamento dos pacotes, pois fará todo o trabalho desde o início. Escolha um dos seguintes conjuntos de passos:

Crie o pacote usando um padrão

Nesses passos, o senhor cria o pacote usando o padrão Databricks default bundle para Python. Esses passos orientam o senhor a criar um pacote que consiste em arquivos a serem construídos em um arquivo Python wheel e a definição de um Databricks Job para construir esse arquivo Python wheel. Em seguida, o senhor valida, implanta e cria os arquivos implantados em um arquivo Python wheel a partir do Python wheel Job dentro do seu Databricks workspace.

O padrão de pacote Databricks default para Python usa setuptools para criar o arquivo Python wheel. Se quiser usar o Poetry para criar o arquivo Python wheel, siga as instruções mais adiante nesta seção para swap a implementação setuptools para uma implementação Poetry.

o passo 1: Configurar autenticação

Neste passo, o senhor configura a autenticação entre a CLI da Databricks em sua máquina de desenvolvimento e a 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 do Databricks correspondente denominado DEFAULT para autenticação.

Observação

A autenticação U2M é adequada para experimentar esses passos em tempo real. Para um fluxo de trabalho totalmente automatizado, a Databricks recomenda que o senhor 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 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. A CLI da Databricks solicita que o senhor salve as informações inseridas como um perfil de configuração da 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 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 a CLI do Databricks 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 da 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 a CLI da Databricks a encontrar as informações corretas dos tokens OAuth correspondentes.

o passo 2: Crie o pacote

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

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

  2. Use a versão CLI do Dataricks 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 my_project ou digite um valor diferente e pressione Enter. Isso determina o nome do diretório raiz deste pacote configurável. Este diretório raiz é criado dentro do seu diretório de trabalho atual.

  5. Para Include a stub (sample) notebook, selecione no e pressione Enter. Isto instrui a CLI do Databricks a não adicionar um Notebook de amostra ao seu pacote.

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

  7. Para Include a stub (sample) Python package, deixe o valor default de yes pressionando Enter. Isto instrui a CLI do Databricks a adicionar arquivos de pacote Python wheel de amostra e instruções de construção relacionadas ao seu pacote.

o passo 3: Explore o pacote

Para view os arquivos que o padrão gerou, mude para o diretório raiz do seu pacote recém-criado e abra este diretório com seu IDE preferido, por exemplo Visual Studio Code. Arquivos de interesse particular incluem o seguinte:

  • databricks.yml: este arquivo especifica o nome programático do pacote configurável, inclui uma referência à definição Job Python wheel e especifica configurações sobre o workspace de destino.

  • resources/<project-name>_job.yml: Este arquivo especifica as configurações do Job Python wheel .

  • src/<project-name>: Esse diretório inclui os arquivos que o Python wheel Job usa para criar o arquivo Python wheel.

Observação

Se quiser instalar o arquivo Python wheel em um destino cluster que tenha Databricks Runtime 12.2 LTS ou abaixo instalado, o senhor deve adicionar o seguinte mapeamento de nível superior ao arquivo databricks.yml:

# Applies to all tasks of type python_wheel_task.
experimental:
  python_wheel_wrapper: true

Este mapeamento instrui a CLI do Databricks a fazer o seguinte:

  • implantado uma cópia do arquivo Python wheel em segundo plano. Esse caminho de implementação é normalmente ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl.

  • Crie um Notebook em segundo plano que contenha instruções para instalar o arquivo Python wheel implantado anteriormente no destino cluster. Esse caminho de Notebooké normalmente ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>.

  • Quando o senhor executa um Job que contém uma tarefa Python wheel e essa tarefa faz referência ao arquivo Python wheel anterior, é criado um Job em segundo plano que executa o Notebook anterior.

Não é necessário especificar este mapeamento para clusters de destino com o Databricks Runtime 13.1 ou acima instalado, pois as instalações Python wheel do sistema de arquivos workspace do Databricks serão instaladas automaticamente nesses clusters de destino.

o passo 4: Atualize o pacote do projeto para usar Poetry

Em default, o pacote padrão especifica a criação do arquivo Python wheel usando setuptools junto com os arquivos setup.py e requirements-dev.txt. Se quiser manter esse padrão, pule para o passo 5: Validar o arquivo de configuração do pacote do projeto.

Para atualizar o pacote do projeto para usar Poetry em vez de setuptools, certifique-se de que sua máquina de desenvolvimento local atenda aos seguintes requisitos:

  • Poetry versão 1.6 ou acima. Para verificar sua versão instalada do Poetry, execute o comando poetry -V ou poetry --version. Para instalar ou atualizar o Poetry, consulte Instalação.

  • Python versão 3.10 ou acima. Para verificar sua versão do Python, execute o comando python -V ou python --version.

  • Databricks CLI versão 0.209.0 ou acima. Para sua versão da CLI do Databricks, execute o comando databricks -v ou databricks --version. Consulte Instalar ou atualizar a CLI do Databricks.

Faça as seguintes alterações no pacote configurável do projeto:

  1. No diretório raiz do pacote, instrua poetry para inicializar as compilações Python wheel para Poetry, executando o seguinte comando:

    poetry init
    
  2. Poetry exibe vários prompts para você completar. Para as compilações Python wheel , responda a esses prompts da seguinte maneira para corresponder às configurações default relacionadas no pacote configurável do projeto:

    1. Para Package name, digite o nome da pasta filha em /src e pressione Enter. Este também deve ser o valor name do pacote definido no arquivo setup.py do pacote configurável.

    2. Para Version, digite 0.0.1 e pressione Enter. Isso corresponde ao número da versão definido no arquivo src/<project-name>/__init__.py do pacote configurável.

    3. Para Description, digite wheel file based on <project-name>/src (substituindo <project-name> pelo nome do projeto) e pressione Enter. Isso corresponde ao valor description definido no arquivo setup.py do padrão.

    4. Para Author, pressione Enter. Este valor default corresponde ao autor definido no arquivo setup.py do modelo.

    5. Para License, pressione Enter. Não há licença definida no padrão.

    6. Para Compatible Python versions, insira a versão do Python que corresponde àquela nos clusters do Databricks de destino (por exemplo, ^3.10) e pressione Enter.

    7. Para Would you like to define your main dependencies interactively? Digite no e pressione Enter. Você definirá suas dependências posteriormente.

    8. Para Would you like to define your development dependencies interactively? Digite no e pressione Enter. Você definirá suas dependências posteriormente.

    9. Para Do you confirm generation? Pressione Enter.

  3. Depois de concluir as solicitações, o Poetry adiciona um arquivo pyproject.toml ao projeto do pacote. Para obter informações sobre o arquivo pyproject.toml , consulte O arquivo pyproject.toml.

  4. No diretório raiz do pacote configurável, instrua poetry para ler o arquivo pyproject.toml , resolver as dependências e instalá-las, criar um arquivo poetry.lock para bloquear as dependências e, finalmente, criar um ambiente virtual. Para fazer isso, execute o seguinte comando:

    poetry install
    
  5. Adicione a seguinte seção ao final do arquivo pyproject.toml , substituindo <project-name> pelo nome do diretório que contém o arquivo src/<project-name>/main.py (por exemplo, my_project):

    [tool.poetry.scripts]
    main = "<project-name>.main:main"
    

    A seção especifica o Python wheelponto de entrada da para o Python wheel Job.

  6. Adicione o seguinte mapeamento no nível superior do arquivo databricks.yml do pacote:

    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    

    Esse mapeamento instrui o Databricks CLI a usar o Poetry para criar um arquivo Python wheel.

  7. Exclua os arquivos setup.py e requirements-dev.txt do pacote, pois o Poetry não precisa deles.

o passo 5: Valide o arquivo de configuração do pacote configurável do projeto

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

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

    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 este passo.

Se você fizer alguma alteração em seu pacote após este passo, você deve repetir este passo para verificar se a configuração do seu pacote ainda é válida.

o passo 6: Crie o arquivo Python wheel e implante o projeto local no remoto workspace

Neste passo, o senhor constrói o arquivo Python wheel, implanta o arquivo Python wheel construído no seu Databricks workspace remoto e cria o Databricks Job dentro do seu workspace.

  1. Se você usar setuptools, instale o pacote wheel e setuptools caso ainda não tenha feito isso, executando o seguinte comando:

    pip3 install --upgrade wheel setuptools
    
  2. No terminal do Visual Studio Code, use a CLI do Databricks para executar o comando bundle deploy da seguinte maneira:

    databricks bundle deploy -t dev
    
  3. Se o senhor quiser verificar se o arquivo Python wheel criado localmente foi implantado:

    1. Na barra lateral do workspacedo Databricks, clique em workspace.

    2. Clique na seguinte pasta: workspace > Users > <your-username> > .bundle > <project-name> > dev > artefatos > .internal > <random-guid>.

    O arquivo Python wheel deve estar nessa pasta.

  4. Se você quiser verificar se o Job foi criado:

    1. Na barra lateral do seu workspacedo Databricks, clique em fluxo de trabalho.

    2. Na Trabalhos tab, clique em [dev <your-username>] <project-name>Job.

    3. Clique na aba Tarefas.

    Deve haver uma tarefa: main_task.

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

o passo 7: execução do projeto implantado

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

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

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

  3. No seu workspace do Databricks, depois que a tarefa for concluída com sucesso e mostrar uma barra de título verde, clique na tarefa main_task para ver os resultados.

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

Você chegou ao final dos passos para criar um pacote usando um padrão.

Crie o pacote manualmente

Nesses passos, o senhor cria o pacote desde o início, manualmente. Esses passos orientam o senhor a criar um pacote que consiste em arquivos a serem construídos em um arquivo Python wheel e a definição de um Databricks Job para construir esse arquivo Python wheel. Em seguida, o senhor valida, implanta e cria os arquivos implantados em um arquivo Python wheel a partir do Python wheel Job dentro do seu Databricks workspace.

Essas etapas incluem adicionar conteúdo a um arquivo YAML. Opcionalmente, você pode querer usar um ambiente de desenvolvimento integrado (IDE) que forneça sugestões e ações automáticas de esquema ao trabalhar com arquivos YAML. As etapas a seguir usam o Visual Studio Code com a extensão YAML instalada no Visual Studio Code Marketplace.

Estes passos pressupõem que você já saiba:

Siga estas instruções para criar um pacote de amostra que crie um arquivo Python wheel com Poetry ou setuptools, implante o arquivo Python wheel e, em seguida, execute o arquivo Python wheel implantado.

Se o senhor já tiver criado um arquivo Python wheel e quiser apenas implantá-lo e executá-lo, pule para a especificação das configurações do Python wheel no arquivo de configuração do pacote no passo 3: Criar o arquivo de configuração do pacote.

o passo 1: Configurar autenticação

Neste passo, o senhor configura a autenticação entre a CLI da Databricks em sua máquina de desenvolvimento e a 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 do Databricks correspondente denominado DEFAULT para autenticação.

Observação

A autenticação U2M é adequada para experimentar esses passos em tempo real. Para um fluxo de trabalho totalmente automatizado, a Databricks recomenda que o senhor 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 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. A CLI da Databricks solicita que o senhor salve as informações inseridas como um perfil de configuração da 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 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 a CLI do Databricks 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 da 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 a CLI da Databricks a encontrar as informações corretas dos tokens OAuth correspondentes.

o passo 2: Crie o pacote

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

  1. Na raiz do seu pacote, crie as seguintes pastas e arquivos, dependendo se o senhor usa Poetry ou setuptools para criar arquivos Python wheel:

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── pyproject.toml
    
    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── setup.py
    
  2. Deixe o arquivo __init__.py vazio.

  3. Adicione o seguinte código ao arquivo main.py e salve o arquivo:

    from my_package.my_module import *
    
    def main():
    
      first = 200
      second = 400
    
      print(f"{first} + {second} = {add_two_numbers(first, second)}")
      print(f"{second} - {first} = {subtract_two_numbers(second, first)}")
      print(f"{first} * {second} = {multiply_two_numbers(first, second)}")
      print(f"{second} / {first} = {divide_two_numbers(second, first)}")
    
    if __name__ == "__main__":
      main()
    
  4. Adicione o seguinte código ao arquivo my_module.py e salve o arquivo:

    def add_two_numbers(a, b):
      return a + b
    
    def subtract_two_numbers(a, b):
      return a - b
    
    def multiply_two_numbers(a, b):
      return a * b
    
    def divide_two_numbers(a, b):
      return a / b
    
  5. Adicione o seguinte código ao arquivo pyproject.toml ou setup.py e salve o arquivo:

    [tool.poetry]
    name = "my_package"
    version = "0.0.1"
    description = "<my-package-description>"
    authors = ["my-author-name <my-author-name>@<my-organization>"]
    
    [tool.poetry.dependencies]
    python = "^3.10"
    
    [build-system]
    requires = ["poetry-core"]
    build-backend = "poetry.core.masonry.api"
    
    [tool.poetry.scripts]
    main = "my_package.main:main"
    
    • Substitua my-author-name pelo nome do contato principal da sua organização.

    • Substitua my-author-name>@<my-organization pelo endereço de contato email principal da sua organização.

    • Substitua <my-package-description> por uma descrição de exibição para seu arquivo Python wheel.

    from setuptools import setup, find_packages
    
    import src
    
    setup(
      name = "my_package",
      version = "0.0.1",
      author = "<my-author-name>",
      url = "https://<my-url>",
      author_email = "<my-author-name>@<my-organization>",
      description = "<my-package-description>",
      packages=find_packages(where='./src'),
      package_dir={'': 'src'},
      entry_points={
        "packages": [
          "main=my_package.main:main"
        ]
      },
      install_requires=[
        "setuptools"
      ]
    )
    
    • Substitua https://<my-url> pelo URL da sua organização.

    • Substitua <my-author-name> pelo nome do contato principal da sua organização.

    • Substitua <my-author-name>@<my-organization> pelo endereço de contato email principal da sua organização.

    • Substitua <my-package-description> por uma descrição de exibição para seu arquivo Python wheel.

o passo 3: Crie o arquivo de configuração do pacote

Um arquivo de configuração do pacote descreve os artefatos que você deseja implantar e o fluxo de trabalho que deseja executar.

  1. Na raiz do seu pacote, adicione um arquivo de configuração de pacote chamado databricks.yml. Adicione o seguinte código a este arquivo:

    Observação

    Se o senhor já tiver criado um arquivo Python wheel e quiser apenas implantá-lo, modifique o seguinte arquivo de configuração do pacote omitindo o mapeamento artifacts. O Databricks CLI assumirá então que o arquivo Python wheel já foi criado e implantará automaticamente os arquivos especificados nas entradas whl do array libraries.

    bundle:
      name: my-wheel-bundle
    
    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    
    resources:
      jobs:
        wheel-job:
          name: wheel-job
          tasks:
            - task_key: wheel-task
              new_cluster:
                spark_version: 13.3.x-scala2.12
                node_type_id: i3.xlarge
                data_security_mode: USER_ISOLATION
                num_workers: 1
              python_wheel_task:
                entry_point: main
                package_name: my_package
              libraries:
                - whl: ./dist/*.whl
    
    targets:
      dev:
        workspace:
        host: <workspace-url>
    
    bundle:
      name: my-wheel-bundle
    
    resources:
      jobs:
        wheel-job:
          name: wheel-job
          tasks:
            - task_key: wheel-task
              new_cluster:
                spark_version: 13.3.x-scala2.12
                node_type_id: i3.xlarge
                data_security_mode: USER_ISOLATION
                num_workers: 1
              python_wheel_task:
                entry_point: main
                package_name: my_package
              libraries:
                - whl: ./dist/*.whl
    
    targets:
      dev:
        workspace:
        host: <workspace-url>
    

    Substitua <workspace-url> pelo URL da instância do seu espaço de trabalho, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

    O mapeamento artifacts é necessário para criar arquivos Python wheel com Poetry e é opcional para criar arquivos Python wheel com setuptools. O mapeamento artifacts contém uma ou mais definições de artefato com os seguintes mapeamentos:

    • O mapeamento type deve estar presente e definido como whl para especificar que um arquivo Python wheel deve ser criado. Para setuptools, whl é o endereço default se nenhuma definição de artefato for especificada.

    • O mapeamento path indica o caminho para o arquivo pyproject.toml para Poetry ou para o arquivo setup.py para setuptools. Este caminho é relativo ao arquivo databricks.yml . Para setuptools, esse caminho é . (o mesmo diretório do arquivo databricks.yml) por default.

    • O mapeamento build indica qualquer comando de construção personalizado para execução para criar o arquivo Python wheel. Para setuptools, esse comando é python3 setup.py bdist wheel por default.

    • O mapeamento files consiste em um ou mais mapeamentos source que especificam quaisquer arquivos adicionais a serem incluídos na compilação Python wheel . Não há default.

    Observação

    Se quiser instalar o arquivo Python wheel em um destino cluster que tenha Databricks Runtime 12.2 LTS ou abaixo instalado, o senhor deve adicionar o seguinte mapeamento de nível superior ao arquivo databricks.yml:

    # Applies to jobs with python_wheel_task and that use
    # clusters with Databricks Runtime 13.0 or below installed.
    experimental:
      python_wheel_wrapper: true
    

    Este mapeamento instrui a CLI do Databricks a fazer o seguinte:

    • implantado uma cópia do arquivo Python wheel em segundo plano. Esse caminho de implementação é normalmente ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl.

    • Cria um Notebook em segundo plano que contém instruções para instalar o arquivo Python wheel implantado anteriormente no destino cluster. Esse caminho de Notebooké normalmente ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>.

    • Quando o senhor executa um Job que contém uma tarefa Python wheel e essa tarefa faz referência ao arquivo Python wheel anterior, é criado um Job em segundo plano que executa o Notebook anterior.

    Não é necessário especificar este mapeamento para clusters de destino com o Databricks Runtime 13.1 ou acima instalado, pois as instalações Python wheel do sistema de arquivos workspace do Databricks serão instaladas automaticamente nesses clusters de destino.

  2. Se você usar Poetry, faça o seguinte:

    • Instale Poetry, versão 1.6 ou acima, caso ainda não esteja instalado. Para verificar sua versão instalada do Poetry, execute o comando poetry -V ou poetry --version.

    • Certifique-se de ter o Python versão 3.10 ou acima instalado. Para verificar sua versão do Python, execute o comando python -V ou python --version.

    • Certifique-se de ter a CLI do Databricks versão 0.209.0 ou acima. Para sua versão da CLI do Databricks, execute o comando databricks -v ou databricks --version. Consulte Instalar ou atualizar a CLI do Databricks.

  3. Se você usar setuptools, instale o pacote wheel e setuptools se eles ainda não estiverem instalados, executando o seguinte comando:

    pip3 install --upgrade wheel setuptools
    
  4. Se você pretende armazenar este pacote com um provedor Git, adicione um arquivo .gitignore na raiz do projeto e adicione as seguintes entradas a este arquivo:

    .databricks
    dist
    
    .databricks
    build
    dist
    src/my_package/my_package.egg-info
    

o passo 4: Valide o arquivo de configuração do pacote configurável do projeto

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

  1. No diretório raiz, valide o arquivo de configuração do pacote configurável:

    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 este passo.

Se você fizer alguma alteração em seu pacote após este passo, você deve repetir este passo para verificar se a configuração do seu pacote ainda é válida.

o passo 5: Crie o arquivo Python wheel e implante o projeto local no remoto workspace

Crie o arquivo Python wheel localmente, implante o arquivo Python wheel construído em seu workspace, implante o Notebook em seu workspace e crie o Job em seu workspace:

databricks bundle deploy -t dev

o passo 6: execução do projeto implantado

  1. executar o implantado Job, que utiliza o implantado Notebook para chamar o arquivo implantado Python wheel:

    databricks bundle run -t dev wheel-job
    
  2. Na saída, copie o Run URL e cole-o na barra de endereços do seu navegador.

  3. Na página Saída da execução Job , aparecem os seguintes resultados:

    200 + 400 = 600
    400 - 200 = 200
    200 * 400 = 80000
    400 / 200 = 2.0
    

Se você fizer alguma alteração em seu pacote após esta etapa, repita as etapas 3 a 5 para verificar se a configuração do pacote ainda é válida, reimplantar o projeto e executar o projeto reimplantado.

Crie e instale um arquivo Python wheel para um Job

Para criar um arquivo Python wheel com Poetry ou setuptools e, em seguida, usar esse arquivo Python wheel em um Job, o senhor deve adicionar um ou dois mapeamentos ao seu arquivo databricks.yml.

Se você usar Poetry, deverá incluir o mapeamento artifacts a seguir no arquivo databricks.yml . Este mapeamento executa o comando poetry build e usa o arquivo pyproject.toml que está no mesmo diretório que o arquivo databricks.yml :

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Observação

O mapeamento artifacts é opcional para setuptools. Por default, para setuptools a CLI do Databricks executa o comando python3 setup.py bdist_wheel e usa o arquivo setup.py que está no mesmo diretório que o arquivo databricks.yml. A CLI do Databricks pressupõe que você já executou um comando como pip3 install --upgrade wheel setuptools para instalar o pacote wheel e setuptools se eles ainda não estiverem instalados.

Além disso, o mapeamento libraries da tarefa Job deve conter um valor whl que especifique o caminho para o arquivo Python wheel criado em relação ao arquivo databricks.yml. O exemplo a seguir mostra isso em uma Notebook tarefa (as reticências indicam conteúdo omitido para fins de brevidade):

resources:
  jobs:
    my-notebook-job:
      name: my-notebook-job
      tasks:
        - task_key: my-notebook-job-notebook-task
          notebook_task:
            notebook_path: ./my_notebook.py
          libraries:
            - whl: ./dist/*.whl
          new_cluster:
            # ...

Crie e instale um arquivo Python wheel para um pipeline

Para criar um arquivo Python wheel com Poetry ou setuptools e, em seguida, fazer referência a esse arquivo Python wheel em um Delta Live Tables pipeline, o senhor deve adicionar um mapeamento ao seu arquivo databricks.yml se usar Poetry, e deve adicionar um comando %pip install ao seu pipeline Notebook, da seguinte forma.

Se você usar Poetry, deverá incluir o mapeamento artifacts a seguir no arquivo databricks.yml . Este mapeamento executa o comando poetry build e usa o arquivo pyproject.toml que está no mesmo diretório que o arquivo databricks.yml :

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Observação

O mapeamento artifacts é opcional para setuptools. Por default, para setuptools a CLI do Databricks executa o comando python3 setup.py bdist_wheel e usa o arquivo setup.py que está no mesmo diretório que o arquivo databricks.yml. A CLI do Databricks pressupõe que você já executou um comando como pip3 install --upgrade wheel setuptools para instalar o pacote wheel e setuptools se eles ainda não estiverem instalados.

Além disso, o pipeline Notebook relacionado deve incluir um comando %pip install para instalar o arquivo Python wheel que foi criado. Consulte Python biblioteca.