Compartir vía


Operaciones de actualización para vistas materializadas

Importante

Las vistas materializadas de Databricks SQL se encuentran en versión preliminar pública.

Las vistas materializadas son objetos de base de datos que contienen los resultados de una consulta SQL en una o varias tablas base. Algunas vistas materializadas se pueden actualizar de forma incremental, propagar automáticamente e incrementalmente los cambios de las tablas base.

En este artículo se explican los tipos de operaciones de actualización que se pueden aplicar a vistas materializadas e identifica las operaciones, palabras clave y cláusulas SQL que admiten la actualización incremental.

Nota:

Para crear y usar vistas materializadas, el área de trabajo debe cumplir los requisitos.

Tipos de actualización

Las operaciones de actualización son uno de estos tipos:

  • Actualización incremental: una actualización incremental procesa los cambios en los datos subyacentes después de la última actualización y, a continuación, anexa esos datos a la tabla. Según las tablas base y las operaciones incluidas, solo se pueden actualizar incrementalmente determinados tipos de vistas materializadas.
  • Actualización completa: una actualización completa trunca la tabla y vuelve a procesar todos los datos disponibles en el origen con la definición más reciente. No se recomienda realizar actualizaciones completas en orígenes que no conserven todo el historial de datos ni tengan períodos de retención cortos, como Kafka, porque la actualización completa trunca los datos existentes. Es posible que no pueda recuperar datos antiguos si los datos ya no están disponibles en el origen.

Cuando se crean vistas materializadas mediante una canalización de SQL Warehouse o Delta Live Tables sin servidor, se actualizan de forma incremental automáticamente si se admiten sus consultas. Si una consulta incluye expresiones no admitidas para una actualización incremental, se realizará una actualización completa, lo que podría provocar costos adicionales. Para determinar qué tipo de actualización se usa, consulte Determinar si se usa una actualización incremental o completa.

Compatibilidad con la actualización incremental de vista materializada

En la tabla siguiente, se muestra la compatibilidad con la actualización incremental por palabra clave o cláusula SQL. Las palabras clave y las cláusulas marcadas con una estrella (*) requieren que el seguimiento de filas esté habilitado para la actualización incremental. Ver Usar seguimiento de filas para tablas Delta.

Palabra clave o cláusula SQL Compatibilidad con la actualización incremental
Expresiones* SELECT Sí, se admiten expresiones que incluyen funciones integradas deterministas e inmutables funciones definidas por el usuario (UDF).
GROUP BY
WITH Sí, se admiten expresiones de tabla comunes.
UNION ALL*
FROM Las tablas base admitidas incluyen tablas Delta, vistas materializadas y tablas de streaming
WHERE, HAVING* Se admiten cláusulas de filtro como WHERE y HAVING.
INNER JOIN*
OVER Sí. PARTITION_BY Las columnas deben especificarse para incrementar en las funciones de ventana.
LEFT JOIN No
QUALIFY Sí.
EXPECTATIONS No. Las vistas materializadas que usan expectativas siempre se actualizan completamente.

Nota:

No se admiten funciones no deterministas, por ejemplo, CURRENT_TIMESTAMP.