Habilite o modo de publicação default em um pipeline
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.
-
Abra o pipeline que o senhor deseja migrar na interface do usuário do Databricks.
-
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. -
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.
-
Adicione uma configuração no pipeline Settings :
pipelines.enableDPMForExistingPipeline
, definido comotrue
. -
iniciar uma atualização manual e deixar que a atualização seja concluída.
-
Vá para a página JSON de configurações do pipeline. Encontre o campo
target
e substitua-o porschema
(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",
... -
Salve seu JSON.
-
Nas configurações do pipeline, remova a configuração do pipeline para
pipelines.setMigrationHints
epipelines.enableDPMForExistingPipeline
. -
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.
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:
CREATE OR REPLACE MATERIALIZED VIEW target AS SELECT LIVE.source.id FROM LIVE.source;
precisaria ser substituído pelo seguinte, antes da migração:
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:
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:
@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 |
---|---|
| 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 . |
| Esse erro indica que o senhor não executou uma atualização recente antes de adicionar a configuração |
| 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. |