Referência da linguagem Python do pipeline declarativoLakeFlow
Esta seção contém detalhes sobre a interface de programação Python do pipeline declarativo LakeFlow .
- Para obter informações conceituais e uma visão geral do uso Python para o pipeline declarativo LakeFlow , consulte Desenvolver código pipeline com Python.
- Para referência SQL , consulte a referência de linguagem SQL do pipeline declarativoLakeFlow.
- Para obter detalhes específicos sobre a configuração do Auto Loader, consulte O que é o Auto Loader?.
dp
Visão geral do módulo
As funções Python do pipeline declarativo LakeFlow são definidas no módulo pyspark.pipelines
(importado como dp
). Seu pipeline implementado com a API Python deve importar este módulo:
from pyspark import pipelines as dp
A versão pública e de código aberto do pyspark
também inclui o módulo pipelines
. Grande parte do código é compatível com a versão usada no Databricks. O código escrito na versão de código aberto funciona no Databricks. Entretanto, há alguns recursos na versão Databricks do pipelines
que não funcionarão com o OSS pyspark
. Os seguintes recursos não são compatíveis:
dp.create_auto_cdc_flow
dp.create_auto_cdc_from_snapshot_flow
@dp.expect(...)
@dp.temporary_view
O que aconteceu com @dlt
?
Anteriormente, Databricks usava o módulo dlt
para dar suporte à funcionalidade do pipeline declarativo LakeFlow . O módulo dlt
foi substituído pelo módulo pyspark.pipelines
. Você ainda pode usar dlt
, mas o Databricks recomenda usar pipelines
.
Funções para definições dataset
O pipeline declarativo LakeFlow usa decoradores Python para definir conjuntos de dados, como visualizações materializadas e tabelas de transmissão. Veja Funções para definir conjunto de dados.
Referência de API
- fluxo_de_acréscimo
- criar_fluxo_automático_cdc
- criar_auto_cdc_a_partir_do_fluxo_de_instantâneo
- criar_pia
- criar_tabela_de_streaming
- Expectativas
- visualização_materializada
- tabela
- visualização_temporária
Considerações sobre o pipeline declarativo Python LakeFlow
A seguir estão algumas considerações importantes ao implementar um pipeline com a interface Python do pipeline declarativo LakeFlow :
- O pipeline declarativo LakeFlow avalia o código que define um pipeline várias vezes durante o planejamento e a execução pipeline . As funções Python que definem conjuntos de dados devem incluir apenas o código necessário para definir a tabela ou view. A lógica arbitrária Python incluída nas definições dataset pode levar a comportamentos inesperados.
- Não tente implementar lógica de monitoramento personalizada em suas definições dataset . Consulte Definir monitoramento personalizado do pipeline declarativo LakeFlow com ganchos de eventos.
- A função usada para definir um dataset deve retornar um Spark DataFrame. Não inclua lógica nas definições do seu dataset que não esteja relacionada a um DataFrame retornado.
- Nunca use métodos que salvam ou gravam em arquivos ou tabelas como parte do código dataset do pipeline declarativo LakeFlow .
Exemplos de operações Apache Spark que nunca devem ser usadas no código do pipeline declarativo LakeFlow :
collect()
count()
toPandas()
save()
saveAsTable()
start()
toTable()