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 .

pipelines 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

O módulo pipeline só está disponível no contexto de um pipeline. Não está disponível em Python executado fora do pipeline. Para obter mais informações sobre como editar código pipeline , consulte Desenvolver e depurar pipeline ETL com o LakeFlow Pipelines Editor.

PipelineApache Spark

Apache Spark inclui um pipeline declarativo a partir do Spark 4.1, disponível por meio do módulo pyspark.pipelines . O Databricks Runtime estende esses recursos de código aberto com APIs e integrações adicionais para uso em produção.

Código escrito com o módulo código aberto pipelines execução sem modificação no Databricks. Os seguintes recursos não fazem parte do Apache Spark:

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