Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Databricks Runtime
Importante
Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administración de versiones preliminares de Azure Databricks.
Agrega una directiva de actualización a la vista materializada, controlando cuándo se va a incrementalizar la actualización. Se aplica a la CREATE MATERIALIZED VIEW instrucción .
Para obtener información sobre la incrementalización, consulte Actualización incremental para vistas materializadas. Puede comprobar si una consulta SQL es incrementalizable con la EXPLAIN CREATE MATERIALIZED VIEW instrucción . Consulte EXPLAIN CREATE MATERIALIZED VIEW.
Syntax
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Parámetros
refresh_policy
Define una directiva de actualización para la vista materializada.
REFRESH POLICYSi se omite ,AUTOes la directiva predeterminada.La directiva de actualización define cómo una actualización controla la incrementalización de la vista materializada.
AUTOEl sistema selecciona automáticamente la actualización incremental o completa, en función del modelo de costo.
Estado Comportamiento El incremental está disponible para la actualización. Usa el modelo de costos para determinar cuál es más barato, incremental o completo. El incremental no está disponible para la actualización. Realiza una actualización completa. Se requiere crear o volver a inicializar (por ejemplo, en el cambio de esquema) Realiza una actualización completa. INCREMENTALEl sistema usa actualizaciones incrementales siempre que sea posible. En
CREATE, si la consulta no es posible incrementalizarse, se produce un error en la creación.Estado Comportamiento El incremental está disponible para la actualización. Realiza una actualización incremental. El incremental no está disponible para la actualización. Realiza una actualización completa. Se requiere crear o volver a inicializar, pero la incrementalización es posible para la consulta. Realiza una actualización completa. Se requiere crear o volver a inicializar y la incrementalización no es posible para la consulta. Se produce un error en la operación. INCREMENTAL STRICTEl sistema usa actualizaciones incrementales. En
CREATE, si la consulta no es posible incrementalizarse, se produce un error en la creación.Estado Comportamiento El incremental está disponible para la actualización. Realiza una actualización incremental. El incremental no está disponible para la actualización. Se produce un error en la actualización. Se requiere crear o volver a inicializar, pero la incrementalización es posible para la consulta. Realiza una actualización completa. Se requiere crear o volver a inicializar y la incrementalización no es posible para la consulta. Se produce un error en la operación. FULLEl sistema siempre usa una actualización completa.
Estado Comportamiento El incremental está disponible para la actualización. Realiza una actualización completa. El incremental no está disponible para la actualización. Realiza una actualización completa. Se requiere crear o volver a inicializar. Realiza una actualización completa.
Comportamiento en caso de error
Cuando se produce un error en una actualización porque no puede cumplir la directiva de actualización (para REFRESH POLICY INCREMENTAL (STRICT)), el sistema devuelve una clase de error de MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE con información detallada que describe el motivo de no ser incrementalizable. Por ejemplo:
-
OPERATOR_NOT_SUPPORTED: un operador, como una combinación compleja, impide la incrementalización. -
EXPRESSION_NOT_DETERMINSTIC: se usa una función no determinista, comoRAND, en la consulta.
Para comprender lo que hace que una consulta sea incrementalizable, consulte Actualización incremental para vistas materializadas.
Para comprobar si una consulta SQL es incrementalizable, use la EXPLAINCREATE MATERIALIZED VIEW instrucción . Consulte EXPLAIN CREATE MATERIALIZED VIEW.
Examples
-- Create a materialized view with an incremental policy
CREATE MATERIALIZED VIEW IF NOT EXISTS my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;