Pular para o conteúdo principal

Desenvolva o código do pipeline em seu ambiente de desenvolvimento local.

Você pode criar código-fonte de pipeline Python em seu ambiente de desenvolvimento integrado (IDE) preferido, executá-lo localmente para teste e, em seguida, validar, implantar e executar atualizações em seu workspace do Databricks sem sair do seu ambiente local.

LakeFlow Pipelines são um superconjunto de Apache Spark™ Declarative Pipelines. O código que usa apenas APIs do Apache Spark Declarative Pipelines é executado tanto localmente quanto no Databricks, mas o código que usa recursos exclusivos dos LakeFlow Pipelines, como AUTO CDC e expectativas, é executado apenas no Databricks. Para as diferenças de recursos, consulte referência da linguagem Python dos LakeFlow Pipelines.

Para desenvolvimento interativo e teste no workspace do Databricks, use o Editor de Lakeflow Pipelines. Consulte Desenvolver e depurar pipelines ETL com o Editor de Lakeflow Pipelines.

Escrever código de pipeline com suporte de IDE

Escreva o código do pipeline usando o módulo pyspark.pipelines, importado como dp:

Python
from pyspark import pipelines as dp

Como o módulo faz parte do Apache Spark, sua IDE oferece verificação de sintaxe, preenchimento automático e verificação de tipo enquanto você escreve. O código do Apache Spark Declarative Pipelines normalmente é executado sem modificações no Databricks. Executar o mesmo comando de importação em um LakeFlow Pipelines importa a versão do Databricks de pipelines. Para a referência completa do Python dos LakeFlow Pipelines, consulte Referência da linguagem Python dos LakeFlow Pipelines.

Separar a lógica de transformação para testes locais

A maneira mais eficaz de tornar o código do pipeline testável localmente é manter sua lógica de transformação em funções PySpark simples, separadas dos decoradores dp. Uma função que recebe um DataFrame e retorna um DataFrame não tem dependência do runtime dos LakeFlow Pipelines, então você pode testá-la unitariamente com pytest em sua máquina local, assim como qualquer outro código Apache Spark. Mantenha as funções decoradas simples, para que elas importem a lógica e a chamem:

Python
# transformations/clean.py — pure PySpark, unit-testable on its own
def clean_orders(df):
return df.filter("quantity > 0").withColumn("amount_usd", df.amount.cast("double"))

# pipeline file — a thin dp wrapper that imports and calls the logic
from pyspark import pipelines as dp
from transformations.clean import clean_orders

@dp.table(name="orders_silver")
def orders_silver():
return clean_orders(spark.readStream.table("orders_bronze"))

Você pode pacote a lógica compartilhada como um wheel para reutilizá-la em pipeline. Para um passo a passo completo sobre como escrever e executar testes de unidade, consulte Teste de unidade para pipelines.

Executar pipelines localmente para teste

Você também pode executar pipelines localmente para desenvolver e testar seu código antes de executá-lo no Databricks. Use a interface de linha de comando spark-pipelines para inicializar, validar e executar um pipeline com Apache Spark local. Consulte o Guia de Programação do Spark Declarative Pipelines na documentação do Apache Spark.

Um pipeline completo usa três camadas complementares de teste, e você pode exercitar duas delas localmente:

  • Testes de unidade para sua lógica de transformação, executados com pytest em relação às funções PySpark simples descritas acima. Estes não requerem um runtime de pipeline. Consulte Teste de unidade para pipelines.
  • Validação (simulação) do gráfico do pipeline, código-fonte e referências de dataset, usando spark-pipelines localmente ou databricks pipelines dry-run em seu workspace—sem gravar nenhum dado.
  • Expectativas , que avaliam as regras de qualidade dos dados em cada linha de cada execução. Por serem um recurso de Runtime dos LakeFlow Pipelines, eles são executados apenas no Databricks, e não localmente. Consulte Gerenciar a qualidade dos dados com base nas expectativas do pipeline.

Não é possível executar ou testar funcionalidades específicas para LakeFlow Pipelines localmente. Isso inclui expectativas e funções AUTO CDC.

Executar pipelines no Databricks do seu ambiente local

Use o grupo de comandos databricks pipelines para validar, implantar e executar atualizações de pipeline em seu workspace, diretamente do seu terminal:

Bash
databricks pipelines init      # scaffold a pipeline project
databricks pipelines dry-run # validate the pipeline graph without publishing data
databricks pipelines deploy # deploy the project to your workspace
databricks pipelines run # run an update

As atualizações de pipeline são executadas no seu workspace do Databricks, e não na sua máquina local, usando o compute configurado para o pipeline. Esses comandos são interoperáveis com comandos bundle do Pacotes de Automação Declarativa, portanto, você pode começar com um projeto simples e adotar a configuração de pacote e as práticas de CI/CD à medida que ele cresce. Para instalar e configurar a CLI, consulte Instalar ou atualizar a CLI do Databricks. Para a referência completa de comandos, consulte pipelines grupo de comandos. Para um passo a passo detalhado, consulte Desenvolver pipelines com Pacotes de Automação Declarativa.

Sincronize o código pipeline do seu IDE com um workspace

A tabela a seguir resume as opções para sincronizar o código-fonte pipeline entre seu IDE local e um workspace Databricks :

Ferramenta ou padrão

Detalhes

CLI do Databricks (grupo de comandos pipelines)

Use os comandos databricks pipelines para implantar e executar um projeto de pipeline do seu ambiente local. Consulte pipelines grupo de comandos.

Pacotes de Automação Declarativa

Utilize pacotes de automação declarativa para implantar pipeline ativos com diferentes níveis de complexidade, desde um único arquivo de código-fonte até configurações para múltiplos pipelines, jobs e arquivos de código-fonte. Consulte Converter um pipeline em um projeto de pacote.

Extensão de IDE do Databricks

O Databricks oferece uma integração com o Visual Studio Code que inclui sincronização fácil entre sua IDE local e os arquivos do workspace. Esta extensão também fornece ferramentas para usar Pacotes de Automação Declarativa para implantar ativos de pipelines. Consulte extensão de IDE do Databricks.

arquivos de espaço de trabalho

Você pode usar os arquivos workspace Databricks para upload o código-fonte pipeline no seu workspace Databricks e depois importar esse código para um pipeline. Veja O que são arquivos workspace ?.

Pastas Git

As pastas Git permitem sincronizar o código entre o seu ambiente local e workspace Databricks , usando um repositório Git como intermediário. Consulte as pastas Git do Databricks.

Ferramenta ou padrão

Detalhes

CLI do Databricks (grupo de comandos pipelines)

Use os comandos databricks pipelines para implantar e executar um projeto de pipeline do seu ambiente local. Consulte pipelines grupo de comandos.

Pacotes de Automação Declarativa

Utilize pacotes de automação declarativa para implantar pipeline ativos com diferentes níveis de complexidade, desde um único arquivo de código-fonte até configurações para múltiplos pipelines, jobs e arquivos de código-fonte. Consulte Converter um pipeline em um projeto de pacote.

Extensão de IDE do Databricks

O Databricks oferece uma integração com o Visual Studio Code que inclui sincronização fácil entre sua IDE local e os arquivos do workspace. Esta extensão também fornece ferramentas para usar Pacotes de Automação Declarativa para implantar ativos de pipelines. Consulte extensão de IDE do Databricks.

arquivos de espaço de trabalho

Você pode usar os arquivos workspace Databricks para upload o código-fonte pipeline no seu workspace Databricks e depois importar esse código para um pipeline. Veja O que são arquivos workspace ?.

Pastas Git

As pastas Git permitem sincronizar o código entre o seu ambiente local e workspace Databricks , usando um repositório Git como intermediário. Consulte as pastas Git do Databricks.