.disable | .enable materialized-view

Deshabilita o habilita el proceso de materialización para una vista materializada.

Nota

Dado que hay algunas implicaciones importantes en el rendimiento asociadas a deshabilitar o habilitar una vista materializada, asegúrese de que está familiarizado con ellos antes de continuar con el uso de este comando. Para obtener más información, consulte la sección Implicaciones de rendimiento de la habilitación o deshabilitación de vistas materializadas .

Permisos

Debe tener al menos la vista materializada Administración para ejecutar estos comandos.

Syntax

.enable | disablematerialized-viewMaterializedViewName

Más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
MaterializedViewName string ✔️ Nombre de la vista materializada.

Devoluciones

Si la vista materializada ya está en el estado en el que el comando intenta establecerla, el comando produce un error que indica que es el caso.

De lo contrario, devuelve los detalles sobre la vista materializada cuya propiedad IsEnabled se ha cambiado.

Esquema de salida:

Nombre Tipo Descripción
Nombre string Nombre de la vista materializada.
SourceTable string Nombre de la tabla de origen en la que se define la vista.
Consultar string Definición de consulta de la vista materializada.
MaterializedTo datetime Marca de tiempo máxima materializada ingestion_time() en la tabla de origen. Para obtener más información, vea cómo funcionan las vistas materializadas.
LastRun datetime Última vez que se ejecutó la materialización.
LastRunResult string Resultado de la última ejecución. Devuelve Completed las ejecuciones correctas; de lo contrario Failed, .
IsHealthy bool true cuando la vista se considera en buen estado; de lo contrario, false . La vista se considera correcta si se materializó correctamente hasta la última hora (MaterializedTo es mayor que ago(1h)).
IsEnabled bool true cuando la vista está habilitada (consulte Deshabilitar o habilitar la vista materializada).
Carpeta string Carpeta en la que se crea la vista materializada.
DocString string Descripción asignada a la vista materializada.
AutoUpdateSchema bool Si la vista está habilitada para las actualizaciones automáticas.
EffectiveDateTime datetime Fecha efectiva de la vista, determinada durante la hora de creación (vea .create materialized-view).
Retrospectiva timespan Intervalo de tiempo que limita el período de tiempo en el que se esperan duplicados.

Ejemplos

Habilitación de una vista materializada

El siguiente comando habilita view ViewName materialized:

.enable materialized-view ViewName

Salida

Nombre SourceTable Consultar MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Carpeta DocString AutoUpdateSchema EffectiveDateTime Retrospectiva
ViewName TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Completado true true false 2023-02-23T14:01:42.5172342Z

Deshabilitar una vista materializada

El siguiente comando deshabilita view ViewName materialized:

.disable materialized-view ViewName

Salida

Nombre SourceTable Consultar MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Carpeta DocString AutoUpdateSchema EffectiveDateTime Retrospectiva
ViewName TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Completado true false false 2023-02-23T14:01:42.5172342Z

Comentarios

Deshabilitación de vistas materializadas

Una vista materializada se puede deshabilitar de cualquiera de las maneras siguientes:

  • Deshabilitación automática por el sistema: La vista materializada se deshabilita automáticamente si se produce un error permanente en la materialización. Este proceso puede producirse en las siguientes instancias:
    • Cambios de esquema que son incoherentes con la definición de vista.
    • Los cambios en la tabla de origen que dan como resultado que la consulta de vista materializada no sea semánticamente no válida.
  • Deshabilite explícitamente la vista materializada: Si la vista materializada afecta negativamente al estado del clúster (por ejemplo, consumir demasiada CPU), deshabilite la vista mediante el .disable materialized-view comando .

Vistas materializadas y seguridad de nivel de fila

Si se deshabilita una vista materializada y, mientras la vista está deshabilitada, alguien define una directiva de seguridad de nivel de fila en la tabla de origen de la vista, pero la vista materializada no tiene definida una directiva de seguridad de nivel de fila, se produce un error al habilitar la vista por motivos de seguridad. Para solucionar este error, puede:

  • Defina la directiva de seguridad de nivel de fila en la vista materializada.
  • Elija omitir el error agregando allowMaterializedViewsWithoutRowLevelSecurity la propiedad al comando enable policy. Por ejemplo:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Implicaciones de rendimiento de habilitar o deshabilitar vistas materializadas

  • Cuando se deshabilita una vista materializada, la materialización se pausará y no consumirá recursos del clúster. La consulta de la vista materializada es posible incluso cuando está deshabilitada, pero el rendimiento puede ser deficiente. El rendimiento de una vista materializada deshabilitada depende del número de registros ingeridos en la tabla de origen desde que se deshabilitó.
  • Puede habilitar una vista materializada que se haya deshabilitado anteriormente. Cuando se vuelve a habilitar, la vista materializada continuará materializando desde el punto que dejó y no se omitirá ningún registro. Si la vista se deshabilitó durante mucho tiempo, puede tardar mucho tiempo en ponerse al día.
  • Solo se recomienda deshabilitar una vista si sospecha que la vista afecta al estado del clúster.