Pular para o conteúdo principal

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 .

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:

Python
from pyspark import pipelines as dp
nota

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

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()