Compartir a través de


Conceptos de canalizaciones declarativas de Lakeflow

Obtenga información sobre lo que son las canalizaciones declarativas de Lakeflow, los conceptos básicos (como canalizaciones, tablas de streaming y vistas materializadas) que lo definen, las relaciones entre esos conceptos y las ventajas de usarlos en los flujos de trabajo de procesamiento de datos.

Nota:

Las canalizaciones declarativas de Lakeflow requieren el plan Premium. Póngase en contacto con el equipo de la cuenta de Databricks para obtener más información.

¿Qué son las canalizaciones declarativas de Lakeflow?

Lakeflow Declarative Pipelines es un marco declarativo para desarrollar y ejecutar canalizaciones de datos por lotes y streaming en SQL y Python. Las canalizaciones declarativas de Lakeflow se ejecutan en Databricks Runtime (DBR) optimizado para el rendimiento y la API de canalizaciones declarativas flows de Lakeflow usa la misma API DataFrame que Apache Spark y Structured Streaming. Los casos de uso comunes para las canalizaciones declarativas de Lakeflow incluyen la ingesta incremental de datos de orígenes como el almacenamiento en la nube (como Amazon S3, Azure ADLS Gen2 y Google Cloud Storage) y los buses de mensajes (como Apache Kafka, Amazon Kinesis, Google Pub/Sub, Azure EventHub y Apache Pulsar), transformaciones incrementales por lotes y streaming con operadores sin estado y procesamiento de flujos en tiempo real entre almacenes transaccionales, como buses de mensajes y bases de datos.

Para obtener más información sobre el procesamiento de datos declarativo, consulte Procesamiento de datos procesales frente al procesamiento declarativo en Databricks.

¿Cuáles son las ventajas de las canalizaciones declarativas de Lakeflow?

La naturaleza declarativa de las canalizaciones declarativas de Lakeflow proporciona las siguientes ventajas en comparación con el desarrollo de canalizaciones de datos con las API de Apache Spark y Spark Structured Streaming y ejecutarlas con Databricks Runtime mediante la orquestación manual a través de trabajos de Lakeflow.

  • Orquestación automática: Las canalizaciones declarativas de Lakeflow orquestan los pasos de procesamiento (denominados "flujos") automáticamente para garantizar el orden correcto de ejecución y el nivel máximo de paralelismo para obtener un rendimiento óptimo. Además, las canalizaciones declarativas de Lakeflow reintentan de forma automática y eficaz los errores transitorios. El proceso de reintento comienza con la unidad más granular y rentable: la tarea de Spark. Si el reintento a nivel de tarea falla, las canalizaciones declarativas de Lakeflow proceden a reintentar el flujo y, finalmente, toda la canalización si es necesario.
  • Procesamiento declarativo: Las canalizaciones declarativas de Lakeflow proporcionan funciones declarativas que pueden reducir cientos o incluso miles de líneas de código manual de Spark y Structured Streaming a solo unas pocas líneas. La API AUTO CDC de Lakeflow Declarative Pipelines simplifica el procesamiento de eventos de captura de datos de cambios (CDC) con compatibilidad con Tipo SCD 1 y Tipo SCD 2. Elimina la necesidad de código manual para controlar eventos desordenados y no requiere una comprensión de la semántica de streaming o conceptos como marcas de agua.
  • Procesamiento incremental: Las canalizaciones declarativas de Lakeflow proporcionan un motor de procesamiento incremental para vistas materializadas. Para usarlo, escriba la lógica de transformación con semántica por lotes y el motor solo procesará nuevos datos y cambios en los orígenes de datos siempre que sea posible. El procesamiento incremental reduce el reprocesamiento ineficaz cuando se producen nuevos datos o cambios en los orígenes y elimina la necesidad de código manual para controlar el procesamiento incremental.

Conceptos clave

En el diagrama siguiente se muestran los conceptos más importantes de las canalizaciones declarativas de Lakeflow.

Diagrama que muestra cómo se relacionan los conceptos básicos del LDP entre sí en un nivel muy alto

Flujos

Un flujo es el concepto fundamental de procesamiento de datos en canalizaciones declarativas de Lakeflow que admiten la semántica de streaming y por lotes. Un flujo lee los datos de un origen, aplica la lógica de procesamiento definida por el usuario y escribe el resultado en un destino. Las canalizaciones declarativas de Lakeflow comparten el mismo tipo de flujo de streaming (Append, Update, Complete) que Spark Structured Streaming. (Actualmente, solo se expone el flujo append ). Para obtener más información, consulte modos de salida en Structured Streaming.

Las canalizaciones declarativas de Lakeflow también proporcionan tipos de flujo adicionales:

  • AUTO CDC es un flujo de streaming único dentro de las tuberías declarativas de Lakeflow que gestiona los eventos de CDC fuera de orden y admite tanto SCD Tipo 1 como SCD Tipo 2.
  • Materialized View es un flujo de lote único en canalizaciones declarativas de Lakeflow que solo procesa nuevos datos y cambios en las tablas de origen siempre que sea posible.

Para obtener más información, consulte:

Tablas de streaming

Una tabla de streaming es una forma de tabla administrada por el Unity Catalog que también es un destino de streaming para las canalizaciones declarativas de Lakeflow. Una tabla de streaming puede tener uno o varios flujos de streaming (Append, AUTO CDC) escritos en ella. AUTO CDC es un flujo de transmisión único que solo está disponible para las tablas de transmisión. Puede definir flujos de streaming explícitamente e independientemente de su tabla de streaming de destino. También puede definir flujos de streaming implícitamente como parte de una definición de tabla de streaming.

Para obtener más información, consulte:

Vistas materializadas

Una vista materializada también es una forma de tabla administrada de Unity Catalog y es un destino por lotes. Una vista materializada puede tener uno o varios flujos de vista materializados escritos en ella. Las vistas materializadas difieren de las tablas de streaming en que siempre se definen los flujos implícitamente como parte de la definición de vista materializada.

Para obtener más información, consulte:

Receptores

Un receptor es un destino de streaming para canalizaciones declarativas de Lakeflow y actualmente admite tablas delta, temas de Apache Kafka y temas de Azure EventHubs. Un receptor puede tener uno o varios flujos de streaming (Anexar) escritos en él.

Para obtener más información, consulte:

Tuberías

Una canalización es la unidad de desarrollo y ejecución en las canalizaciones declarativas de Lakeflow. Una canalización puede contener uno o varios flujos, tablas de streaming, vistas materializadas y receptores. Las canalizaciones declarativas de Lakeflow se usan mediante la definición de flujos, tablas de streaming, vistas materializadas y destinos en el código fuente de la canalización y luego ejecutar la canalización. Mientras se ejecuta la canalización, analiza las dependencias de los flujos definidos, las tablas de streaming, las vistas materializadas y los receptores, y organiza automáticamente su orden de ejecución y paralelización.

Para obtener más información, consulte:

Databricks SQL para Pipelines Declarativos de Lakeflow

Lakeflow Declarative Pipelines proporciona tablas de streaming y vistas materializadas como dos funcionalidades fundamentales de ETL en Databricks SQL. Puede usar SQL estándar para crear y actualizar tablas de streaming y vistas materializadas en Databricks SQL. Las tablas de streaming y las vistas materializadas de Databricks SQL se ejecutan en la misma infraestructura de Databricks y tienen la misma semántica de procesamiento que en las canalizaciones declarativas de Lakeflow. Cuando se usan tablas de streaming y vistas materializadas en Databricks SQL, los flujos se definen implícitamente como parte de las tablas de streaming y la definición de vistas materializadas.

Para obtener más información, consulte:

Más información