¿Qué son las canalizaciones?

Un pipeline es la unidad principal de desarrollo y ejecución de Apache Spark™ Declarative Pipelines (SDP) en Lakeflow. Una canalización es una colección de archivos de código fuente y una configuración. Los archivos de origen declaran conjuntos de datos (tablas de streaming, vistas materializadas y vistas) junto con las consultas y flujos que los generan. La configuración especifica cómo se ejecuta la canalización y dónde se almacenan los datos.

Una canalización es el contenedor de los flujos, las tablas de streaming, las vistas materializadas y los receptores que defina. Mientras se ejecuta la canalización, analiza las dependencias entre estos objetos y organiza su orden de ejecución y paralelización automáticamente. Para más información sobre los objetos que contiene una canalización, consulte ¿Qué son las canalizaciones de Lakeflow?. Para obtener una comparación de las canalizaciones de Lakeflow y las canalizaciones declarativas de Apache Spark™, consulte Canalizaciones declarativas de Apache Spark.

Código fuente del pipeline

El código fuente de la canalización se escribe en Python o SQL. Una sola canalización puede mezclar archivos de origen Python y SQL, pero cada archivo solo puede contener un idioma. Dado que la canalización analiza las dependencias del conjunto de datos en todos sus archivos de código fuente, puede organizar el código fuente entre archivos en cualquier orden.

Para obtener instrucciones de desarrollo específicas del lenguaje, consulte Desarrollo de código de canalización con Python y Desarrollo de código de canalizaciones de Lakeflow con SQL.

Gráfico de canalización

Las canalizaciones deducen automáticamente las dependencias entre conjuntos de datos y las organizan en un gráfico acíclico dirigido (DAG). El gráfico determina el orden de evaluación: los conjuntos de datos ascendentes se calculan antes de los descendentes. Puede ver e interactuar con el gráfico de canalización en el Editor de canalizaciones de Lakeflow.

Actualizaciones de la canalización

Una actualización de canalización calcula el estado actual de cada conjunto de datos por:

  1. Iniciar un clúster con la configuración correcta.
  2. Análisis de archivos de origen y creación del gráfico de dependencias.
  3. Calcular o actualizar incrementalmente cada conjunto de datos en orden de dependencia.

Las canalizaciones se ejecutan en dos modos:

  • Desencadenada: la canalización se ejecuta una vez y se detiene cuando todos los conjuntos de datos están actualizados.
  • Continuo: la canalización se ejecuta indefinidamente y procesa los nuevos datos a medida que llegan.

Las actualizaciones que desencadenas de forma interactiva desde el editor se optimizan para permitir una iteración rápida, reutilizando el clúster y deshabilitando los reintentos automáticos. Consulte Comportamiento de ejecución de actualización.

Tipos de canalización

La lista Trabajos y canalizaciones incluye más que solo canalizaciones creadas con canalizaciones de Lakeflow. Azure Databricks ejecuta varios tipos diferentes de canalizaciones, y la lista Jobs & Pipelines y la página de supervisión de canalizaciones etiquetan cada una con un tipo para que pueda distinguirlas. En la tabla siguiente se asigna cada tipo de canalización al pipeline_type valor registrado en el registro de eventos:

Escribe en Jobs & Pipelines pipeline_type en el registro de eventos Description
ETL WORKSPACE Una canalización de Lakeflow. Consulte Spark Declarative Pipelines.
Ingestión MANAGED_INGESTION Una canalización de ingesta administrada creada con Lakeflow Connect. Consulte Conectores administrados en Lakeflow Connect.
MV/ST DBSQL Una canalización independiente. Consulte pipelines independientes.
Sincronización de tablas de base de datos DATABASE_TABLE_SYNC Canalización que sincroniza una tabla con una base de datos de Lakebase. Consulte Serve lakehouse data with synced tables (Servir datos de Lakehouse con tablas sincronizadas [aprovisionado por Lakebase]).

Canalizaciones independientes

Puede crear y administrar tablas de streaming y vistas materializadas fuera de una canalización de Lakeflow como canalizaciones independientes. Puede usar Databricks SQL o Python para crear y actualizar tablas de streaming independientes y vistas materializadas. Se ejecutan en la misma infraestructura de Azure Databricks y tienen la misma semántica de procesamiento que en una canalización de Lakeflow. Al definir una tabla de streaming independiente o una vista materializada, los flujos se definen implícitamente como parte de la tabla de streaming o la definición de vista materializada.

Para más información, consulte Canalizaciones independientes.

Editor de canalizaciones de Lakeflow

El Editor de canalizaciones de Lakeflow es un IDE creado para el desarrollo de canalizaciones. Proporciona:

  • Editor de código de varios archivos para archivos de código fuente de Python y SQL
  • Explorador de recursos del flujo de trabajo para organizar archivos y carpetas
  • Gráfico de canalización interactivo que muestra las dependencias y el estado del conjunto de datos
  • Vistas previas de datos para tablas de streaming y vistas materializadas
  • Información de ejecución y un panel de problemas en el que se muestran los resultados de la ejecución más reciente
  • Ejecución selectiva para actualizar archivos o tablas individuales sin ejecutar la canalización completa

El editor se integra con la plataforma Azure Databricks y admite el control de versiones a través de carpetas de Git. Para obtener instrucciones paso a paso, consulte Desarrollo y depuración de canalizaciones de ETL con el Editor de canalizaciones de Lakeflow.

Recursos adicionales