Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede crear Python código fuente de canalización en el entorno de desarrollo integrado (IDE) preferido, ejecutarlo localmente para realizar pruebas, luego validar, implementar y ejecutar actualizaciones en el área de trabajo de Azure Databricks sin salir del entorno local.
Las canalizaciones de Lakeflow son un superconjunto de canalizaciones declarativas de Apache Spark™. El código que usa solo las API de canalizaciones declarativas de Apache Spark se ejecuta tanto localmente como en Azure Databricks, pero el código que usa características exclusivas de las canalizaciones de Lakeflow, como AUTO CDC y las expectativas, solo se ejecuta en Azure Databricks. Para consultar las diferencias entre funciones, consulte referencia del lenguaje Python de Lakeflow pipelines.
Para el desarrollo y las pruebas interactivos en el área de trabajo de Azure Databricks, use el Editor de canalizaciones de Lakeflow. Vea Cómo desarrollar y depurar canalizaciones de ETL con el Editor de canalizaciones de Lakeflow.
Escritura de código de canalización con compatibilidad con IDE
Escriba código de canalización mediante el pyspark.pipelines módulo, importado como dp:
from pyspark import pipelines as dp
Dado que el módulo forma parte de Apache Spark, el IDE proporciona comprobación de sintaxis, autocompletar y comprobación de tipos a medida que escribe. El código de canalizaciones declarativas de Apache Spark se ejecuta normalmente sin modificaciones en Azure Databricks. Al ejecutar el mismo comando de importación en una canalización de Lakeflow, se importa la versión Azure Databricks de pipelines. Para consultar la referencia completa de Python para las canalizaciones de Lakeflow, consulte Referencia del lenguaje Python para las canalizaciones de Lakeflow.
Lógica de transformación separada para pruebas locales
La forma más eficaz de hacer que el código del pipeline se pueda probar localmente es mantener la lógica de transformación en funciones PySpark normales, separadas de los decoradores dp. Una función que acepta un DataFrame y devuelve un DataFrame no depende del entorno de ejecución de las canalizaciones de Lakeflow, por lo que puedes hacer pruebas unitarias con pytest en tu máquina local, igual que con cualquier otro código de Apache Spark. Mantenga las funciones decoradas ligeras, de modo que importen la lógica y la ejecuten:
# 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"))
Puedes empaquetar la lógica compartida como una rueda para reutilizarla entre pipelines. Para obtener una guía completa sobre cómo escribir y ejecutar pruebas unitarias, consulta Pruebas unitarias para canalizaciones.
Ejecutar canalizaciones localmente para realizar pruebas
También puede ejecutar canalizaciones localmente para desarrollar y probar el código antes de ejecutarlo en Azure Databricks. Use la spark-pipelines interfaz de la línea de comandos para inicializar, validar y ejecutar una canalización con Apache Spark local. Consulte la Guía de programación de canalizaciones declarativas de Spark en la documentación de Apache Spark.
Una pipeline completa utiliza tres capas complementarias de prueba, y puedes ejercitar dos de ellas localmente:
-
Pruebas unitarias para su lógica de transformación, ejecutadas con
pytestjunto a las funciones PySpark simples descritas arriba. No requieren tiempo de ejecución de canalización. Consulte Pruebas unitarias para canalizaciones. -
Validación (simulación) del grafo de la canalización, del código fuente y de las referencias al conjunto de datos, usando
spark-pipelineslocalmente odatabricks pipelines dry-runen su área de trabajo, sin escribir datos. - Expectativas, que evalúan las reglas de calidad de datos en cada fila de cada ejecución. Como son una función de ejecución de Lakeflow Pipelines, solo funcionan en Azure Databricks, no localmente. Consulte Administración de la calidad de los datos con las expectativas de canalización.
No se puede ejecutar ni probar la funcionalidad específica de las canalizaciones de Lakeflow localmente. Esto incluye expectativas y funciones AUTO CDC.
Ejecución de canalizaciones en Azure Databricks desde el entorno local
Use el databricks pipelines grupo de comandos para validar, implementar y ejecutar actualizaciones de canalización en el área de trabajo directamente desde el 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
Las actualizaciones del pipeline se ejecutan en su área de trabajo de Azure Databricks, no en su equipo local, con los recursos de proceso configurados para el pipeline. Estos comandos son interoperables con los comandos de Declarative Automation Bundles bundle, por lo que puede empezar con un proyecto sencillo y adoptar la configuración de paquetes y las prácticas de CI/CD a medida que el proyecto crezca. Para instalar y configurar la CLI, consulte Instalación o actualización de la CLI de Databricks. Para obtener la referencia completa del comando, consulte elpipelines grupo de comandos. Para obtener una guía paso a paso, consulte Desarrolle canalizaciones con paquetes de automatización declarativa.
Sincronice código de canalización desde el IDE a un área de trabajo
En la tabla siguiente se resumen las opciones para sincronizar el código fuente de canalización entre el IDE local y un área de trabajo de Azure Databricks:
| Herramienta o patrón | Detalles |
|---|---|
Databricks CLI (grupo de comandos pipelines) |
Use los databricks pipelines comandos para implementar y ejecutar un proyecto de canalización desde el entorno local. Consulte el grupo de comandospipelines. |
| Agrupaciones de automatización declarativa | Use agrupaciones de automatización declarativa para implementar recursos de canalización que van en complejidad desde un único archivo de código fuente a configuraciones para varias canalizaciones, trabajos y archivos de código fuente. Vea Convertir una tubería en un proyecto de paquete. |
| Extensión del IDE de Databricks | Azure Databricks proporciona una integración con Visual Studio Code que incluye una sincronización sencilla entre el IDE local y los archivos del área de trabajo. Esta extensión también proporciona herramientas para usar agrupaciones de automatización declarativa para implementar recursos de canalizaciones. Consulta la extensión del IDE Databricks. |
| Archivos del área de trabajo | Puede usar los archivos del área de trabajo de Databricks para cargar el código fuente de la canalización en el área de trabajo de Databricks y, a continuación, importar ese código en una canalización. Consulte ¿Qué son los archivos del área de trabajo? |
| Carpetas Git | Las carpetas de Git le permiten sincronizar el código entre el entorno local y Azure Databricks área de trabajo mediante un repositorio de Git como intermediario. Consulte carpetas de Git de Azure Databricks. |