Canalizaciones independientes frente a canalizaciones de Lakeflow

Azure Databricks ofrece dos maneras de crear vistas materializadas y tablas de streaming: canalizaciones independientes o canalizaciones de Lakeflow. Ambos se ejecutan en el mismo motor declarativo y generan tablas administradas del catálogo de Unity. La diferencia es qué parte de la canalización crea y opera usted.

  • Una vista materializada independiente o una tabla de streaming es un único conjunto de datos definido con sintaxis SQL. Azure Databricks crea y administra una canalización en segundo plano para actualizarla. Puede crear y actualizar conjuntos de datos independientes desde un almacén SQL de Databricks o desde un cuaderno con cómputo de uso general sin servidor mediante spark.sql(). Consulte pipelines independientes.
  • Un pipeline de Lakeflow es un pipeline que se crea y se administra como una unidad. Puede contener muchos conjuntos de datos, en SQL y Python, con orquestación de dependencias, trazabilidad y funciones operativas para toda la canalización. Consulte ¿Qué son las canalizaciones?.

Cuando crea una vista materializada independiente o una tabla de streaming, la canalización administrada aparece en la página Trabajos & Canalizaciones con un tipo de canalización MV/ST. Los conjuntos de datos definidos en una canalización de Lakeflow tienen un tipo de canalización de ETL.

Cuándo usar una canalización independiente

Use vistas materializadas independientes y tablas de streaming cuando:

  • Puede acelerar las consultas o transformar datos con una sola vista materializada o una tabla de streaming.
  • Trabaja desde un almacén de Databricks SQL, el editor SQL o un notebook en cómputo general sin servidor, y programa actualizaciones con SCHEDULE, TRIGGER ON UPDATE o una tarea SQL en un trabajo.
  • No necesita sinks, orquestación de varias etapas ni otras funciones exclusivas de canalizaciones.

Cuándo usar una canalización de Lakeflow

Utilice un pipeline de Lakeflow cuando:

  • Se crea una canalización de varias fases con conjuntos de datos intermedios, donde Azure Databricks administra las dependencias y el linaje entre los conjuntos de datos. Los conjuntos de datos intermedios se pueden publicar en el catálogo o mantenerse privados en la canalización.
  • Crea tablas y flujos en Python.
  • Escribe en tablas Delta externas o destinos de streaming de eventos mediante sinks (create_sink() o foreach_batch_sink()).
  • Puede aplicar la captura de datos modificados desde una instantánea de base de datos mediante create_auto_cdc_from_snapshot_flow().
  • Se quiere una ejecución desencadenada o continua a lo largo de toda la canalización.

Comparación

Propiedad Tabla de streaming o vista materializada independiente Tabla de flujo de la canalización o vista materializada
Interfaz de creación Sintaxis SQL, desde un almacén de Databricks SQL o con spark.sql() en un notebook en cómputo general sin servidor SQL y Python
Scope Un conjunto de datos, en una canalización que Azure Databricks administra por usted Muchos conjuntos de datos en una canalización, con orquestación de dependencias y trazabilidad
Ejecución Activado, con SCHEDULE, TRIGGER ON UPDATE o una tarea SQL Desencadenado o continuo
Características exclusivas de la canalización Sumideros, create_auto_cdc_from_snapshot_flow(), conjuntos de datos privados
Etiqueta de tipo de canalización MV/ST ETL
Moverse entre canalizaciones No compatible; volver a crear la tabla en la canalización de destino Supported