Pular para o conteúdo principal

Habilite o modo de publicação default em um pipeline

info

Visualização

Esse recurso está em Public Preview.

Este artigo descreve como migrar o pipeline que usa o esquema virtual LIVE (o modo de publicação legado) para o modo de publicação default.

O modo de publicação default permite que um único pipeline grave em vários catálogos e esquemas, e inclui uma sintaxe simplificada para trabalhar com tabelas e visualizações no pipeline. O modo de publicação legado é considerado obsoleto, e o site Databricks recomenda a migração de todos os pipelines para o modo de publicação default.

A migração afeta os metadados do site pipeline, mas não lê, move ou grava em nenhum conjunto de dados.

Como saber se o seu pipeline usa o modo de publicação legado

O pipeline do modo de publicação legado é indicado no campo Summary (Resumo ) da UI de configurações do pipeline declarativo LakeFlow. O senhor também pode confirmar que um pipeline usa o modo de publicação herdado se o campo target estiver definido na especificação JSON do pipeline.

Considerações sobre a migração para o modo de publicação default

É útil ter em mente as seguintes notas durante a migração:

  • Depois que um pipeline é migrado para o modo de publicação default, ele não pode ser migrado novamente para usar o esquema virtual LIVE.
  • Talvez o senhor precise preparar o site pipeline para a migração, abordando quaisquer alterações de sintaxe entre os modos de publicação legado e default. A maioria dos pipelines não exige alterações. Para obter detalhes, consulte Preparação do pipeline para migração.
  • A migração afeta somente os metadados. Ele não lê, move ou grava em nenhum conjunto de dados.
  • No modo de publicação default, a visualização materializada e as tabelas de transmissão não podem ser movidas entre esquemas após serem criadas.
  • O modo de publicação default requer a versão Databricks CLI v0.230.0 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.

Migrar para o modo de publicação default

Use as etapas a seguir para migrar para o modo de publicação default.

  1. Abra o pipeline que o senhor deseja migrar na interface do usuário do Databricks.

  2. pausa as atualizações e permite que qualquer pipeline em execução no momento seja interrompido.

    Pelo menos uma atualização deve ser executada antes de concluir a migração. Se o site pipeline for acionado ou já estiver pausado, o senhor executará manualmente uma única atualização. Se o pipeline for contínuo, certifique-se de que ele chegue ao (ou já esteja no) estado RUNNING e, em seguida, faça uma pausa.

  3. Opcionalmente, prepare qualquer código que precise ser migrado.

    O default modo de publicação geralmente é compatível com as versões anteriores do modo de publicação legado, mas certifique-se de preparar adequadamente pipeline seu para a migração, de modo que seu pipeline código seja executado corretamente quando atualizado. A maioria das tubulações não precisará de alterações.

  4. Adicione uma configuração no pipeline Settings : pipelines.enableDPMForExistingPipeline, definido como true.

  5. iniciar uma atualização manual e deixar que a atualização seja concluída.

  6. Vá para a página JSON de configurações do pipeline. Encontre o campo target e substitua-o por schema (mantenha o mesmo valor). Sua configuração deve incluir JSON como o seguinte:

    JSON
    ...
    "catalog": "main",
    "configuration": {
    "pipelines.setMigrationHints": "true",
    "pipelines.enableDPMForExistingPipeline": "true"
    },
    "schema": "default",
    "data_sampling": "false",
    ...
  7. Salve seu JSON.

  8. Nas configurações do pipeline, remova a configuração do pipeline para pipelines.setMigrationHints e pipelines.enableDPMForExistingPipeline.

  9. Habilite as atualizações do pipeline, como eram antes da migração.

O modo de publicação default agora está ativado no site pipeline. Se você encontrar problemas, use a próxima seção para ajudar na solução. Se os problemas persistirem, entre em contato com o gerente do site Databricks account .

Preparação do pipeline para migração

O modo de publicação default é geralmente compatível com o modo de publicação legado, mas alguns pipeline podem precisar ser modificados para execução. As observações a seguir podem ajudá-lo a preparar o pipeline para a migração.

A palavra-chave LIVE

A palavra-chave LIVE no modo de publicação herdado qualifica o catálogo e o esquema do objeto com o padrão pipeline. O modo de publicação default não usa mais a palavra-chave LIVE para qualificar tabelas ou exibições. A palavra-chave LIVE é ignorada e substituída pelo catálogo default e pelo esquema do pipeline. Em geral, isso usará o mesmo catálogo e esquema default que a palavra-chave LIVE no modo de publicação herdado, a menos que o senhor adicione posteriormente o comando USE CATALOG ou USE SCHEMA ao seu pipeline.

No modo de publicação herdado, a tabela parcialmente qualificada e as referências view sem a palavra-chave LIVE (como table1) usam o padrão Spark. No modo de publicação default, as referências parcialmente qualificadas usam o padrão pipeline. Se o padrão e o pipeline do Spark forem diferentes, o senhor deverá qualificar totalmente o nome de qualquer tabela parcialmente qualificada ou view antes de migrar.

nota

Após a migração, você pode remover a palavra-chave LIVE do seu código. Opcionalmente, o senhor pode substituir a palavra-chave LIVE por nomes de tabelas totalmente qualificados ou view.

Referências de coluna com a palavra-chave LIVE

O senhor não pode usar a palavra-chave LIVE para definir colunas no modo de publicação default. Por exemplo, esse código:

SQL
CREATE OR REPLACE MATERIALIZED VIEW target AS SELECT LIVE.source.id FROM LIVE.source;

precisaria ser substituído pelo seguinte, antes da migração:

SQL
CREATE OR REPLACE MATERIALIZED VIEW target AS SELECT source.id FROM LIVE.source;

Esta versão funciona em qualquer modo de publicação.

Advertências versus erros

Alguns avisos no modo de publicação herdado foram substituídos por erros no modo de publicação default.

Autorreferências Uma autorreferência (ou referência circular) não é permitida no modo de publicação default (e teve resultados indefinidos no modo de publicação legado). Por exemplo:

SQL
CREATE OR REPLACE MATERIALIZED VIEW table1 AS SELECT * FROM target_catalog.target_schema.table1;

geraria um aviso no modo de publicação legado (e teria resultados indefinidos). No modo de publicação default, ele gera um erro.

Nomes de várias partes O senhor não pode usar pontos nos nomes no modo de publicação default (nomes de várias partes). Por exemplo, o seguinte código Python é válido no modo legado, mas não no modo default:

Python
@dlt.view(name=”a.b.c”)
def transform():
return

Antes de migrar, renomeie o site view para um nome que não inclua um caractere de ponto final.

Solução de problemas

A tabela a seguir descreve os erros que podem ocorrer ao migrar do modo de publicação legado.

Erro

Descrição

CANNOT_MIGRATE_HMS_PIPELINE

A migração não é compatível com o pipeline Hive metastore. Como alternativa, o senhor pode clonar o pipeline de Hive metastore para Unity Catalog antes da migração. Consulte Criar um Unity Catalog pipeline clonando um Hive metastore pipeline .

MISSING_EXPECTED_PROPERTY

Esse erro indica que o senhor não executou uma atualização recente antes de adicionar a configuração pipelines.enableDPMForExistingPipeline. Remova essa configuração e, se ela estiver ausente, adicione a configuração pipelines.setMigrationHints, definida como true. execute uma atualização e continue a partir da etapa 3.

PIPELINE_INCOMPATIBLE_WITH_DPM

Esse erro indica que seu código pipeline não é totalmente compatível com o modo de publicação default. Consulte Preparação do pipeline para migração.