Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode desenvolver o código-fonte do pipeline em Python no seu ambiente de desenvolvimento integrado (IDE) preferido, executá-lo localmente para testes e, em seguida, validar, implantar e executar atualizações no seu espaço de trabalho do Azure Databricks sem sair do seu ambiente local.
Os pipelines do Lakeflow são um superconjunto dos pipelines declarativos do Apache Spark™. O código que usa apenas as APIs de Pipelines Declarativos do Apache Spark é executado localmente e em Azure Databricks, mas o código que usa recursos exclusivos para pipelines do Lakeflow, como AUTO CDC e expectativas, é executado apenas em Azure Databricks. Para conhecer as diferenças entre os recursos, consulte a referência da linguagem Python para pipelines do Lakeflow.
Para desenvolvimento interativo e testes no workspace do Azure Databricks, use o editor do Lakeflow Pipelines. Confira Desenvolver e depurar pipelines de ETL com o Editor do Lakeflow Pipelines.
Escrever código de pipeline com suporte ao IDE
Escreva o código do pipeline usando o pyspark.pipelines módulo, importado como dp:
from pyspark import pipelines as dp
Como o módulo faz parte do Apache Spark, o IDE fornece verificação de sintaxe, preenchimento automático e verificação de tipos enquanto você escreve. Normalmente, o código de Pipelines Declarativos do Apache Spark é executado sem modificação no Azure Databricks. A execução do mesmo comando de importação em um pipeline do Lakeflow importa a versão do Azure Databricks de pipelines. Para obter a referência completa de Python para pipelines do Lakeflow, consulte referência da linguagem Python para pipelines do Lakeflow.
Lógica de transformação separada 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 simples do PySpark, separadas dos dp decoradores. Uma função que recebe um DataFrame e retorna um DataFrame não tem dependência do ambiente de execução dos pipelines do Lakeflow, portanto você pode testá-la com pytest na sua máquina local, como qualquer outro código do Apache Spark. Mantenha as funções decoradas enxutas, para que apenas 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"))
Você pode empacotar a lógica compartilhada como um wheel para reutilizá-la entre pipelines. Para um passo a passo completo sobre como escrever e executar testes unitários, veja Testes unitários para pipelines.
Executar pipelines localmente para testes
Você também pode executar pipelines localmente para desenvolver e testar seu código antes de executá-lo no Azure Databricks. Use a interface de spark-pipelines linha de comando 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 usa três camadas complementares de testes, e você pode exercitar duas delas localmente:
-
Testes unitários para sua lógica de transformação, executados com
pytestnas funções PySpark simples descritas acima. Esses não requerem tempo de execução do pipeline. Consulte Testes unitários para pipelines. -
Validação (simulação) do grafo do pipeline, código-fonte e referências de conjunto de dados, usando
spark-pipelineslocalmente oudatabricks pipelines dry-runcontra seu workspace — sem escrever nenhum dado. - Expectativas, que avaliam regras de qualidade de dados em todas as linhas de cada execução. Como são um recurso de runtime dos pipelines Lakeflow, eles são executados apenas no Azure Databricks, não localmente. Confira Gerenciar a qualidade dos dados com as expectativas do pipeline.
Não é possível executar ou testar a funcionalidade específica dos pipelines do Lakeflow localmente. Isso inclui expectativas e funções AUTO CDC.
Executar pipelines no Azure Databricks a partir do seu ambiente local
Use o databricks pipelines grupo de comandos para validar, implantar e executar atualizações de pipeline em seu workspace diretamente do 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 workspace do Azure Databricks, e não no seu computador local, usando os recursos computacionais configurados para o pipeline. Esses comandos são interoperáveis com comandos de Pacotes bundle 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 obter a referência de comando completa, consulte pipelines o grupo de comandos. Para um guia passo a passo, consulte Desenvolver pipelines com pacotes de automação declarativa.
Sincronizar código de pipeline do seu IDE para um workspace
A tabela a seguir resume as opções para sincronizar o código-fonte do pipeline entre o IDE local e um workspace Azure Databricks:
| Ferramenta ou padrão | Detalhes |
|---|---|
CLI do Databricks (grupo de comando pipelines) |
Use os databricks pipelines comandos para implantar e executar um projeto de pipeline em seu ambiente local. Consulte pipelines o grupo de comandos. |
| Pacotes de Automação Declarativa | Use Pacotes de Automação Declarativa para implantar ativos de pipeline que variam em complexidade, desde um único arquivo de código-fonte até configurações para vários pipelines, trabalhos e arquivos de código-fonte. Consulte Converter um pipeline em um projeto de pacote. |
| Extensão do IDE Databricks | Azure Databricks fornece uma integração com Visual Studio Code que inclui sincronização fácil entre o IDE local e os arquivos do workspace. Essa extensão também fornece ferramentas para usar Pacotes de Automação Declarativa para implantar ativos de pipelines. Veja extensão do IDE Databricks. |
| Arquivos de espaço de trabalho | Você pode usar arquivos da área de trabalho do Databricks para fazer upload do código-fonte do seu pipeline para o espaço de trabalho do Databricks e, em seguida, importar esse código para um pipeline. Veja o que são arquivos de workspace?. |
| Pastas do Git | As pastas git permitem sincronizar o código entre seu ambiente local e Azure Databricks workspace usando um repositório Git como intermediário. Consulte Azure Databricks pastas Git. |