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.
Important
Las versiones de entorno para las canalizaciones de Lakeflow están en vista previa pública.
Una versión del entorno ancla al código de Python de la canalización la versión del lenguaje Python y el conjunto de bibliotecas de Python preinstaladas disponibles. Las dependencias externas que agregue a la canalización se superponen a esta base.
Las versiones del entorno desacoplan el entorno de ejecución de Python de la canalización de la versión de Databricks Runtime en la que se ejecuta la canalización. Mientras se establece una versión del entorno, las actualizaciones de Databricks Runtime no cambian la versión del idioma Python ni las versiones de biblioteca preinstaladas. El entorno de ejecución de Python también es compatible con los Jobs sin servidor y los cuadernos que usan la misma versión del entorno. Para encontrar la versión actual de Databricks Runtime para las canalizaciones de Lakeflow, consulte las notas del lanzamiento de las canalizaciones de Lakeflow y el proceso de actualización.
Databricks migra automáticamente los pipelines elegibles a una versión del entorno. Véase Migración automática.
Important
Los pipelines con una versión de entorno ejecutan código Python a través de Spark Connect, lo que puede cambiar el comportamiento de parte del código de pipeline. Para la lista completa de limitaciones y cambios de comportamiento, véase Compatibilidad de versiones del entorno.
Requirements
Las versiones del entorno tienen los siguientes requisitos:
- La canalización debe usar Unity Catalog. No se admiten canalizaciones de metastore de Hive.
Versiones de entorno admitidas
Las canalizaciones de Lakeflow admiten las versiones de entorno 3 y 4 tanto en cómputo sin servidor como en cómputo clásico. Para obtener la versión del idioma Python y la lista completa de bibliotecas de Python preinstaladas disponibles en cada versión, consulte la referencia de versión de environment.
Migración automática
Databricks migra automáticamente los pipelines elegibles a una versión del entorno. La migración ocurre en la siguiente actualización de un pipeline, no requiere pasos manuales e incluye estas salvaguardas:
- El comportamiento se comprueba antes de la migración. Databricks escanea tu pipeline en busca de patrones de código que se comportarían de forma diferente en Spark Connect y compara el plan de salida del pipeline antes y después de la migración. Consulte la compatibilidad de versiones del entorno.
- Una migración fallida se revierte automáticamente. Si una actualización migrada falla por cualquier motivo, se detiene antes de que se escriban datos, y la pipeline vuelve automáticamente a su tiempo de ejecución anterior en la siguiente actualización. No hace falta realizar ninguna acción.
- Tus ajustes explícitos siempre se respetan. Si estableces tú mismo
environment_version, Databricks nunca lo sobrescribe.
Una vez que una canalización se migra correctamente, se ejecuta en esa versión del entorno en adelante. Puedes ver la versión seleccionada en la configuración del pipeline, la GetPipeline respuesta de la API y el runtime_details registro de eventos.
¿Qué no se migra automáticamente
Una tubería no se migra automáticamente si se aplica alguna de las siguientes condiciones:
- Tiene advertencias de compatibilidad sin resolver con Spark Connect de la actualización más reciente.
- No es un pipeline de Unity Catalog.
- Utiliza una característica que la migración automática aún no cubre:
foreach_batchsumideros, ganchos de eventos, AUTO CDC desde un origen de función de instantánea o una imagen personalizada.
Los pipelines que no se migran automáticamente siguen ejecutándose en su entorno de ejecución anterior en Python sin ningún cambio. Puedes habilitar tú mismo una versión del entorno una vez que la canalización cumpla los requisitos.
Activa tú mismo una versión del entorno
La migración automática cubre la mayoría de las oleoductos. También puedes configurar explícitamente una versión del entorno, por ejemplo para migrar antes o para fijar una versión específica, a través de la interfaz del editor de pipelines, la API REST de Pipelines o Declarative Automation Bundles.
Antes de activar explícitamente una versión del entorno, comprueba que tu pipeline sea compatible con Spark Connect. Si Databricks detecta que habilitar la versión cambiaría el comportamiento de tu pipeline, la actualización falla antes de que se escriban los datos, y hay un error que identifica la diferencia a resolver.
Habilitar a través de la interfaz de usuario
- En el editor de canalización, haga clic en Configuración.
- En Entorno de canalización, seleccione
Editar entorno.
- Seleccione una versión del entorno en la lista desplegable.
- Guarde la configuración de la canalización.
Las dependencias externas agregadas en la sección Entorno de canalización se superponen a las bibliotecas incluidas con la versión de entorno seleccionada. Consulte Administración de dependencias de Python para canalizaciones.
Habilitación a través de la API
La API REST de Pipelines acepta un bloque environment al crear y actualizar canalizaciones. La autenticación de token de acceso personal debe estar habilitada para el área de trabajo.
Para crear una canalización con una versión de entorno:
curl --request POST \
--url 'https://<workspace-host>/api/2.0/pipelines' \
--header 'Authorization: Bearer <personal-access-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "<pipeline-name>",
"catalog": "<catalog>",
"schema": "<schema>",
"channel": "CURRENT",
"environment": {
"environment_version": "4",
"dependencies": [
"simplejson==3.19.*"
]
}
}'
Para establecer la versión del entorno en una canalización existente, envíe el mismo bloque environment con PUT /api/2.0/pipelines/<pipeline-id>.
Activar a través de paquetes de automatización declarativa
Al crear una canalización mediante agrupaciones de automatización declarativa, puede establecer una versión de entorno en la definición de YAML de la canalización.
- Asegúrese de que la CLI de Databricks está en la versión v0.294.0 o posterior. Si no es así, actualice siguiendo la guía de instalación.
- Configura un paquete siguiendo el tutorial de paquetes de pipelines.
- Localice el archivo YAML de la canalización en su paquete, normalmente
<bundle-folder>/resources/<pipeline_name>_pipeline.yml. - Configure los campos
environment_versionydependenciesen el YAML de la canalización:
resources:
pipelines:
my_pipeline:
name: my_pipeline
catalog: ${var.catalog}
schema: ${var.schema}
root_path: '../src/my_pipeline'
libraries:
- glob:
include: ../src/my_pipeline/transformations/**
environment:
environment_version: 4
dependencies:
- --editable ${workspace.file_path}
Comprobar la versión del entorno de una canalización
Para comprobar qué versión de entorno está ejecutando una canalización, ya sea que la configures explícitamente o que Databricks la seleccionó durante la migración automática:
-
INTERFAZ de usuario: abra la configuración de canalización y compruebe la sección Entorno de canalización o inspeccione el panel JSON del
environment.environment_versioncampo. -
API: llame a
GET /api/2.0/pipelines/<pipeline-id>y busqueenvironment.environment_versionen la respuesta. Esto muestra una versión que has establecido explícitamente; Para ver una versión seleccionada por migración automática, utiliza el registro de eventos que aparece a continuación. -
Registro de eventos: Inspecciona el
runtime_detailsevento, que informa de la versión del entorno utilizada para la actualización. Consulta los detalles del evento runtime_details.
Desactivar o revertir una versión del entorno
No necesitas revertir manualmente una migración automática. Una migración que falla se revierte automáticamente en la siguiente actualización. Cuando se quita la versión del entorno, la canalización vuelve a su configuración anterior del entorno de ejecución de Python. Si ocurre algo inesperado, contacta con el soporte de Azure Databricks.
Recursos adicionales
- Compatibilidad de versiones del entorno : limitaciones, cambios de comportamiento, escaneo de compatibilidad y migración automática.
- Administrar dependencias de Python para canalizaciones — superposición de dependencias externas de Python sobre una versión del entorno.