.alter materialized-view
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
La modificación de la vista materializada se puede usar para cambiar la consulta de una vista materializada, a la vez que se conservan los datos existentes en la vista.
Advertencia
Tenga cuidado adicional al modificar una vista materializada. El uso incorrecto puede provocar la pérdida de datos.
Permisos
Debe tener al menos permisos de administrador de vista materializado para ejecutar este comando.
Sintaxis
.alter
materialized-view
[ with
(
PropertyName =
PropertyValue,
...)
] Consulta MaterializedViewName SourceTableName{
on table
}
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
PropertyName, PropertyValue | string |
Lista de propiedades en forma de pares nombre y valor, de la lista de propiedades admitidas. | |
MaterializedViewName | string |
✔️ | Nombre de la vista materializada. |
SourceTableName | string |
✔️ | Nombre de la tabla de origen en la que se define la vista. |
Consulta | string |
✔️ | Definición de consulta de la vista materializada. |
Propiedades admitidas
Las siguientes propiedades se admiten en la with
(
cláusula PropertyName =
PropertyValue.)
Todas las propiedades son opcionales.
Nombre | Escribir | Descripción |
---|---|---|
lookback | timespan |
Válido solo para arg_max //arg_min take_any vistas materializadas. Limita el período de tiempo en el que se esperan duplicados. Por ejemplo, si se especifica una búsqueda de 6 horas en una arg_max vista, la desduplicación entre los registros recién ingeridos y los existentes tendrá en cuenta solo los registros ingeridos hace hasta 6 horas. Lookback es relativo a ingestion_time . Definir el período de búsqueda incorrectamente podría dar lugar a duplicados en la vista materializada. Por ejemplo, si se ingiere un registro para una clave específica 10 horas después de ingerir un registro para la misma clave y la búsqueda se establece en 6 horas, esa clave será un duplicado en la vista. El período de búsqueda se aplica durante el tiempo de materialización y el tiempo de consulta. |
autoUpdateSchema | bool |
Si se va a actualizar automáticamente la vista en los cambios de la tabla de origen. El valor predeterminado es false . Esta opción solo es válida para las vistas de tipo arg_max(Timestamp, *) //arg_min(Timestamp, *) take_any(*) (solo cuando el argumento de la columna es ).* Si esta opción se establece true en , los cambios realizados en la tabla de origen se reflejarán automáticamente en la vista materializada. |
dimensionTables | array | Argumento dinámico que incluye una matriz de tablas de dimensiones en la vista. Consulte Parámetro de consulta. |
folder | string |
Carpeta de la vista materializada. |
docString | string |
Cadena que documenta la vista materializada. |
Devoluciones
Esquema de salida:
Nombre | Escribir | Descripción |
---|---|---|
Nombre | string |
Nombre de la vista materializada. |
SourceTable | string |
Nombre de la tabla de origen en la que se define la vista. |
Consulta | 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 para ejecuciones Completed correctas; de lo contrario Failed , . |
IsHealthy | bool |
true cuando la vista se considera correcta; 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 |
Indica si la vista está habilitada para las actualizaciones automáticas. |
EffectiveDateTime | datetime |
Fecha efectiva de la vista, determinada durante la hora de creación (consulte .create materialized-view ). |
Retrospectiva | timespan |
Intervalo de tiempo que limita el período de tiempo en el que se esperan duplicados. |
Ejemplos
Modificar la definición de consulta de una vista materializada
El siguiente comando modifica la definición de consulta de la vista materializada MyView:
.alter materialized-view MyView on table MyTable
{
MyTable | summarize arg_max(Column3, *) by Column1
}
Salida
Nombre | SourceTable | Consulta | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Carpeta | DocString | AutoUpdateSchema | EffectiveDateTime | Retrospectiva |
---|---|---|---|---|---|---|---|---|---|---|---|---|
MyView | MyTable | MyTable | 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 |
Casos de uso
- Agregue agregaciones a la vista; por ejemplo, agregue agregación
avg
aT | summarize count(), min(Value) by Id
, modificando la consulta de vista aT | summarize count(), min(Value), avg(Value) by Id
. - Cambie los operadores que no sean el operador summarize. Por ejemplo, filtre algunos registros modificando
T | summarize arg_max(Timestamp, *) by User
aT | where User != 'someone' | summarize arg_max(Timestamp, *) by User
. - Modifique sin cambios en la consulta debido a un cambio en la tabla de origen. Por ejemplo, supongamos que una vista de
T | summarize arg_max(Timestamp, *) by Id
, que no está establecida enautoUpdateSchema
(consulte.create materialized-view
el comando ). Si se agrega o quita una columna de la tabla de origen de la vista, la vista se deshabilita automáticamente. Ejecute el comando alter, con la misma consulta exacta, para cambiar el esquema de la vista materializada para alinearse con el nuevo esquema de tabla. La vista todavía debe habilitarse explícitamente después del cambio, mediante el comando habilitar vista materializada.
Limitaciones
Cambios no admitidos:
- Cambios en el grupo de vistas materializado por expresiones.
- Cambiar el tipo de columna.
- Cambio de nombre de las columnas. Por ejemplo, modificar una vista de
T | summarize count() by Id
para quitar columnacount_
y crea una nueva columnaCount
, que inicialmente soloT | summarize Count=count() by Id
contiene valores NULL.
Impacto en los datos existentes:
- La modificación de la vista materializada no afecta a los datos existentes.
- Agregar filtros a la consulta solo se aplica a los registros recién ingeridos y no cambia los registros que ya se han materializado.
- Las nuevas columnas reciben valores NULL para todos los registros existentes hasta que los registros ingeridos después del comando alter modifican los valores NULL.
- Por ejemplo: se modifica una vista de
T | summarize count() by bin(Timestamp, 1d)
aT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Para un determinado para elTimestamp=T
que los registros ya se han procesado antes de modificar la vista, lasum
columna contiene datos parciales. Esta vista solo incluye registros procesados después de la modificación de la ejecución.