Desenvolva código de pipeline em seu ambiente de desenvolvimento local

Pode criar código-fonte de pipeline Python no seu ambiente integrado de desenvolvimento (IDE) preferido, executá-lo localmente para testes, depois validar, implementar e executar atualizações no seu espaço de trabalho Azure Databricks sem sair do ambiente local.

Os oleodutos Lakeflow são um superconjunto dos Oleodutos Declarativos Apache Spark™. O código que utiliza apenas as APIs Declarative Pipelines do Apache Spark é executado tanto localmente como no Azure Databricks, mas o código que utiliza funcionalidades exclusivas dos pipelines do Lakeflow, como AUTO CDC e expectativas, é executado apenas no Azure Databricks. Para as diferenças de funcionalidades, consulte a referência da linguagem Python dos pipelines Lakeflow.

Para desenvolvimento e testes interativos no espaço de trabalho do Azure Databricks, utilize o Lakeflow Pipelines Editor. Consulte Desenvolver e depurar pipelines ETL com o Lakeflow Pipelines Editor.

Escreva código de pipeline com suporte do IDE

Escrever código de pipeline utilizando o módulo pyspark.pipelines, importado como dp:

from pyspark import pipelines as dp

Como o módulo faz parte do Apache Spark, o seu IDE fornece verificação de sintaxe, conclusão automática e verificação de tipos à medida que escreve. O código Apache Spark Declarative Pipelines normalmente corre sem modificações no Azure Databricks. Executar o mesmo comando de importação num pipeline do Lakeflow importa a versão do pipelines do Azure Databricks. Para obter a referência completa da linguagem Python para os pipelines Lakeflow, consulte a referência da linguagem Python para os pipelines Lakeflow.

Lógica de transformação separada para testes locais

A forma mais eficaz de tornar o código do pipeline testável localmente é manter a lógica de transformação em funções simples do PySpark, separadas dos dp decoradores. Uma função que recebe um DataFrame e devolve um DataFrame não tem qualquer dependência do ambiente de execução dos pipelines Lakeflow, pelo que pode testá-la com pytest na sua máquina local, tal como faz com qualquer outro código Apache Spark. Mantenha as funções decoradas simples, para que importem a lógica e a invoquem:

# 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"))

Podes empacotar a lógica partilhada como uma roda para a reutilizar entre pipelines. Para um guia completo sobre como escrever e executar testes unitários, consulte Testes unitários para pipelines.

Executar pipelines localmente para testes

Também podes executar pipelines localmente para desenvolver e testar o teu código antes de o executares no Azure Databricks. Use a spark-pipelines interface de linha de comandos para inicializar, validar e executar um pipeline com o Apache Spark local. Consulte o Guia de Programação de Pipelines Declarativos do Spark na documentação do Apache Spark.

Um pipeline completo utiliza três camadas complementares de teste, e pode exercer duas delas localmente:

  • testes unitários para a sua lógica de transformação, executados com pytest sobre as funções PySpark básicas descritas acima. Estes não requerem tempo de execução do pipeline. Veja Testes unitários para pipelines.
  • Validação (prova a seca) do grafo do pipeline, código-fonte e referências ao conjunto de dados, usando spark-pipelines localmente ou databricks pipelines dry-run contra o seu espaço de trabalho — sem escrever quaisquer dados.
  • Expectativas, que avaliam regras de qualidade dos dados em todas as linhas de cada execução. Como são uma funcionalidade de runtime dos pipelines Lakeflow, correm apenas no Azure Databricks, não localmente. Consulte Gerir a qualidade dos dados com as expectativas do fluxo de dados.

Não pode executar ou testar funcionalidades específicas dos pipelines Lakeflow localmente. Isto inclui expectativas e AUTO CDC funções.

Execute pipelines no Azure Databricks a partir do seu ambiente local

Use o databricks pipelines grupo de comandos para validar, implementar e executar atualizações do pipeline no seu espaço de trabalho, diretamente a partir do seu terminal:

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 do pipeline são executadas no seu espaço de trabalho Azure Databricks, não na sua máquina local, usando o cálculo configurado para o pipeline. Estes comandos são interoperáveis com comandos do Declarative Automation Bundles bundle , pelo que pode começar com um projeto simples e adotar práticas de configuração de bundles e CI/CD à medida que cresce. Para instalar e configurar a CLI, consulte Instalar ou atualizar a CLI Databricks. Para a referência completa de comandos, veja pipelines grupo de comandos. Para uma explicação passo a passo, consulte Desenvolvimento de pipelines com Pacotes de Automação Declarativa.

Sincronizar código de pipeline do seu IDE para um espaço de trabalho

A tabela seguinte resume as opções para sincronizar o código-fonte do pipeline entre o seu IDE local e um espaço de trabalho do Azure Databricks:

Ferramenta ou padrão Detalhes
Databricks CLI (pipelines grupo de comandos) Usa os databricks pipelines comandos para implementar e executar um projeto de pipeline a partir do teu ambiente local. Consulte pipelines o grupo de comandos.
Pacotes de Automação Declarativa Use Pacotes de Automação Declarativa para implementar ativos de pipeline que variam em complexidade desde um único ficheiro de código-fonte até configurações para múltiplos pipelines, jobs e ficheiros de código-fonte. Veja Converter um pipeline num projeto de pacote.
Extensão do IDE Databricks O Azure Databricks oferece uma integração com o Visual Studio Code que inclui uma sincronização fácil entre o seu IDE local e os ficheiros do espaço de trabalho. Esta extensão também fornece ferramentas para usar os Declarative Automation Bundles na implementação dos recursos de pipelines. Ver extensão do IDE Databricks.
Arquivos de espaço de trabalho Você pode usar os arquivos do espaço de trabalho Databricks para carregar o código-fonte do pipeline para o espaço de trabalho do Databricks e, em seguida, importar esse código para um pipeline. Consulte O que são arquivos de espaço de trabalho?.
Diretórios Git As pastas Git permitem-te sincronizar código entre o teu ambiente local e o espaço de trabalho do Azure Databricks usando um repositório Git como intermediário. Veja Azure Databricks repositórios Git.