Configurar as versões do ambiente nos pipelines

Importante

As versões de ambiente para Lakeflow Spark Declarative Pipelines (SDP) estão em Beta.

Uma versão de ambiente define a versão da linguagem Python e o conjunto de bibliotecas Python pré-instaladas disponível para o código Python do seu pipeline. Quaisquer dependências externas que adicionar ao pipeline são adicionadas sobre esta base.

As versões do ambiente desvinculam o ambiente de execução Python do seu pipeline da versão do Databricks Runtime em que o pipeline é executado. Enquanto uma versão do ambiente está definida, as atualizações do Databricks em tempo de execução não alteram a versão da tua linguagem Python nem as versões pré-instaladas da biblioteca. O runtime de Python também é compatível com tarefas sem servidor e notebooks que usam a mesma versão do ambiente. Para encontrar a versão atual do Databricks Runtime para os Lakeflow Spark Declarative Pipelines, consulte as notas de atualização do Lakeflow Spark Declarative Pipelines e o processo de atualização de release.

Importante

Pipelines com uma versão de ambiente executam código Python por meio do Spark Connect. O Spark Connect altera o comportamento do código do pipeline. Antes de ativar uma versão do ambiente num pipeline existente, consulte Compatibilidade de versões do ambiente para limitações, alterações de comportamento, a análise de compatibilidade e o fluxo de trabalho de migração.

Requirements

As versões do ambiente têm os seguintes requisitos:

  • O pipeline deve usar o Unity Catalog. Os pipelines do metastore do Hive não são suportados.

Versões suportadas do ambiente

O SDP suporta as versões 3 e 4 do ambiente tanto em computação serverless como clássica. Para a versão da linguagem Python e a lista completa de bibliotecas Python pré-instaladas disponíveis em cada versão, consulte a referência da versão do ambiente.

Ativar uma versão do ambiente num pipeline

Pode configurar uma versão do ambiente através da interface do editor de pipelines, da API REST dos Pipelines ou dos Pacotes de Automação Declarativa.

Lembre-se de verificar a compatibilidade com o Spark Connect antes de ativar uma versão do ambiente num pipeline.

Ativar através da interface de utilizador

  1. No editor de pipeline, clique em Configurações.
  2. Em Ambiente do pipeline, selecione o ícone de lápis.Editar ambiente.
  3. Selecione uma versão do ambiente na lista suspensa.
  4. Guarda as definições do pipeline.

As dependências externas adicionadas na secção Ambiente de Pipeline são sobrepostas às bibliotecas incluídas na versão selecionada do ambiente. Consulte Gerenciar dependências Python para pipelines.

Ativar através da API

A API REST de Pipelines aceita um bloco environment na criação e atualização de pipelines. A autenticação por Token de Acesso Pessoal deve estar ativada para o espaço de trabalho.

Para criar um pipeline com uma versão do ambiente:

curl --request POST \
  --url 'https://<workspace-host>/api/2.0/pipelines' \
  --header 'Authorization: Bearer <personal-access-token>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "name": "<pipeline-name>",
    "catalog": "<catalog>",
    "schema": "<schema>",
    "channel": "CURRENT",
    "environment": {
      "environment_version": "4",
      "dependencies": [
        "simplejson==3.19.*"
      ]
    }
  }'

Para definir a versão do ambiente num pipeline existente, envie o mesmo environment bloco com PUT /api/2.0/pipelines/<pipeline-id>.

Ativar através de Pacotes de Automação Declarativa

Quando cria um pipeline usando Declarative Automation Bundles, pode definir uma versão do ambiente na definição YAML do pipeline.

  1. Certifica-te de que a tua CLI Databricks está na versão v0.294.0 ou posterior. Se não, atualize seguindo o guia de instalação.
  2. Configurar um pacote seguindo o tutorial sobre pacotes de pipelines.
  3. Localize o ficheiro YAML do pipeline no seu pacote, normalmente em <bundle-folder>/resources/<pipeline_name>_pipeline.yml.
  4. Defina os campos environment_version e dependencies no YAML do pipeline:
resources:
  pipelines:
    my_pipeline:
      name: my_pipeline
      catalog: ${var.catalog}
      schema: ${var.schema}
      root_path: '../src/my_pipeline'
      libraries:
        - glob:
            include: ../src/my_pipeline/transformations/**
      environment:
        environment_version: 4
        dependencies:
          - --editable ${workspace.file_path}

Verifique a versão do ambiente num pipeline

Para verificar se uma versão do ambiente está configurada num pipeline:

  • UI: Abra as definições do pipeline e verifique a secção Ambiente do pipeline, ou inspecione o painel JSON para o campo environment.environment_version.
  • API: Ligue GET /api/2.0/pipelines/<pipeline-id> e procure environment.environment_version na resposta.
  • Registo de eventos: Inspecione o evento create_update no campo environment_version.

Desative a versão do ambiente num pipeline

Remova a versão do ambiente na secção Pipeline Environment nas definições do pipeline ou remova o campo environment_version do bloco environment na definição da API ou do bundle.

Quando a versão do ambiente é removida, o pipeline regressa à sua configuração anterior em tempo de execução em Python.

Recursos adicionais