Referência da linguagem Python de LakeFlow Pipelines
A interface Python do Lakeflow Pipelines é definida no módulo pyspark.pipelines, importada como dp.
- Para informações conceituais e uma visão geral do uso Python para pipelines, consulte Desenvolver código pipeline com Python.
- Para obter informações sobre SQL , consulte a referência da linguagem SQL de pipeline.
- Para obter detalhes específicos sobre a configuração do Auto Loader, consulte O que é o Auto Loader?.
pipelines Visão geral do módulo
As funções Python de LakeFlow Pipelines são definidas no módulo pyspark.pipelines (importado como dp). Seus pipelines implementados com a API Python devem importar este módulo:
from pyspark import pipelines as dp
A maior parte do módulo de pipelines está disponível apenas no contexto de um pipeline. Para obter mais informações sobre como editar o código do pipeline, consulte Desenvolver e depurar pipelines ETL com o Editor de Lakeflow Pipelines.
Você também pode aplicar @materialized_view e @table fora de um pipeline, em um Notebook em serverless general compute, para definir uma materialized view ou tabela de transmissão autônoma. Consulte Define tables with the pipelines decorators.
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_flowdp.create_auto_cdc_from_snapshot_flow@dp.expect(...)
O módulo pipelines era anteriormente chamado de dlt no Databricks. Para detalhes e mais informações sobre as diferenças em relação ao Apache Spark, consulte O que aconteceu com @dlt?.
Funções para definições dataset
O pipeline utiliza decoradores Python para definir conjuntos de dados, como visualizações materializadas e tabelas de transmissão. Consulte Funções para definir o 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
- create_table
- criar_pia
- criar_tabela_de_streaming
- Expectativas
- foreach_batch_sink
- visualização_materializada
- replace_flow
- tabela
- visualização_temporária
- Atualização de fluxo
Requisitos de codificação para pipeline Python
A seguir estão requisitos importantes ao implementar pipelines com a interface Python:
- Um pipeline avalia seu código-fonte várias vezes durante o planejamento e as execuções. As funções do Python que definem datasets devem incluir apenas o código necessário para definir a tabela ou view. A lógica arbitrária do Python incluída nas definições de dataset pode levar a um comportamento inesperado.
- Não tente implementar lógica de monitoramento personalizada nas definições do seu dataset . Consulte Definir monitoramento personalizado de pipeline com ganchos de evento.
- 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 utilize métodos que salvam ou gravam em arquivos ou tabelas como parte do código do seu dataset pipeline .
Exemplos de operações do Apache Spark que nunca devem ser usadas em código de pipeline:
collect()count()toPandas()save()saveAsTable()start()toTable()
O que aconteceu com @dlt?
Anteriormente, o Databricks usava o módulo dlt para dar suporte à funcionalidade de pipeline. O módulo dlt foi substituído pelo módulo pyspark.pipelines . Você ainda pode usar dlt, mas o Databricks recomenda o uso de pipelines.
Diferenças entre DLT, LakeFlow Pipelines e Apache Spark Declarative Pipelines
A tabela a seguir mostra as diferenças na sintaxe e funcionalidade entre DLT, LakeFlow Pipelines e Apache Spark Declarative Pipelines.
Para uma comparação em nível de recurso do que os LakeFlow Pipelines compartilham e adicionam a Apache Spark Declarative Pipelines, veja Apache Spark Declarative Pipelines.
Para um mapeamento de propriedade por propriedade da configuração do pipeline para a especificação do projeto SDP, consulte Referência de propriedades do pipeline.
Na documentação da Databricks, o produto Databricks é chamado de Lakeflow pipelines , e o projeto Apache Spark que ele estende é o Apache Spark™ Declarative Pipelines ( SDP ). Os dois são interoperáveis, mas diferem em recursos. Por exemplo, as APIs de AUTO CDC estão disponíveis somente no LakeFlow Pipelines.
Área | sintaxe DLT | Sintaxe SDP (LakeFlow e Apache, quando aplicável) | Disponível no Apache Spark |
|---|---|---|---|
Importações |
|
| Sim |
Tabela de transmissão |
|
| Sim |
Visualização materializada |
|
| Sim |
View |
|
| Sim |
Fluxo de anexação |
|
| Sim |
Atualizar fluxo | Indisponível |
| Não |
SQL – show |
|
| Sim |
SQL – materializado |
|
| Sim |
SQL – fluxo |
|
| Sim |
Registro de eventos |
|
| Não |
Aplicar alterações (CDC) |
|
| Não |
Expectativas |
|
| Não |
Modo contínuo | Configuração de pipeline com gatilho contínuo | (mesmo) | Não |
Afundar |
|
| Sim |
Coletor ForEachBatch | Indisponível |
| Não |