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 |
Sí |
WITH |
Sí, se admiten expresiones de tabla comunes. |
UNION ALL * |
Sí |
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 * |
Sí |
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
.